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
相关产品推荐
相关产品推荐

