导致错误的原因:.eslintrc.js:环境密钥“vue/setup-compiler-macros”未知

max*_*eld 9 eslint vue.js eslintrc

我正在使用 Vue 3 和 Typescript 开发一个示例应用程序。具体来说,我在 Vue SFC 部分中使用新的 Vue v3.2 设置选项。Vue 文档建议我将“vue/setup-compiler-macros”添加到正在运行的 eslintrc.js 文件的 env 部分。但我现在收到错误

Syntax Error: Error: .eslintrc.js:
        Environment key "vue/setup-compiler-macros" is unknown
    at Array.forEach (<anonymous>)
Run Code Online (Sandbox Code Playgroud)

有一段时间,如果我重新启动 VS Code,这种情况似乎就会消失(我承认这不是一个很好的解决方法),但现在即使这样也不起作用。当我保存文件并编译项目时发生错误。我似乎正在使用 VS Code 扩展 - ESLint v2.2.2。

eslintrc.js:

  module.exports = {
  root: true,
  env: {
    'vue/setup-compiler-macros': true,
    node: true,
  },
  extends: [
    'plugin:vue/vue3-essential',
    'eslint:recommended',
    '@vue/typescript/recommended',
  ],
  parserOptions: {
    ecmaVersion: 2020,
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
  },
}
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激。

Ale*_*ier 13

您需要升级eslint-plugin-vue到版本 8,该版本根据其发行说明添加了它。还可以https://github.com/vuejs/eslint-plugin-vue/pull/1685


小智 11

我也遇到了同样的问题,通过配置解决了

  globals: {
    defineProps: "readonly",
    defineEmits: "readonly"
  }
Run Code Online (Sandbox Code Playgroud)

官方指南在这里,我不知道'vue/setup-compiler-macros': true,为什么不起作用