You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quasar 2/Vue 3中Vitest顶层await触发ESLint错误,无法启动应用求助

解决Vitest顶层await的ESLint解析错误问题

1. 全局调整ESLint解析配置(优先推荐)

打开项目根目录的.eslintrc.cjs,修改parserOptions部分,明确开启ES模块和顶层await的语法支持:

module.exports = {
  // 保留你原有其他配置
  parserOptions: {
    ecmaVersion: '2022', // Node.js 18原生支持ES2022,包含顶层await特性
    sourceType: 'module', // 声明项目文件采用ES模块规范
    ecmaFeatures: {
      topLevelAwait: true // 显式启用顶层await语法解析
    }
  },
  // ...其他原有配置
}

2. 仅针对测试文件配置

如果怕全局改动影响其他业务代码,就用overrides只给测试文件单独配置:

module.exports = {
  // 保留原有其他配置
  overrides: [
    {
      // 匹配所有Vitest测试文件(js/ts都覆盖)
      files: ['**/*.test.js', '**/*.spec.js', '**/*.test.ts', '**/*.spec.ts'],
      parserOptions: {
        ecmaVersion: '2022',
        sourceType: 'module',
        ecmaFeatures: {
          topLevelAwait: true
        }
      }
    }
  ]
}

3. 单个测试文件临时解决

要是不想动全局配置,直接在出问题的测试文件最顶部加注释:

/* eslint-env es2022 */
/* eslint-disable no-unsafe-await */

4. 适配Vitest专属ESLint规则

如果你的项目装了eslint-plugin-vitest,记得在.eslintrc.cjs里启用它,插件会自动处理Vitest的语法特性:

module.exports = {
  // 保留原有其他配置
  plugins: ['vitest'],
  extends: [
    // 不要注释掉'plugin:vue/vue3-essential',保留它加上下面这行
    'plugin:vitest/recommended'
  ]
}

内容的提问来源于stack exchange,提问作者Murrah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 02:57:14