3

从 VueCLI 迁移到 Vite 后,据我所知,我必须“手动”进行 linting;如我错了请纠正我。因为我只想对我的 .ts 和 .html 文件进行 lint(我什至为组件将它们分开),所以我的包 json 中有这个脚本:

"lint": "eslint --ext .ts --ext .html src/"

它发现了一些问题,例如在循环中丢失:key,但它也向我显示了每个模板的此错误:

错误清除 vue/comment-directive

这始终是我的 template.html 中任何根元素的结束标记 如果只有一个根元素,我会收到一个文件警告,如果有多个根元素,我会收到每个结束标记的警告。

我不明白这条规则在抱怨什么,因为根据它的文档,它用于 eslint-disable 注释,而我的模板中没有这些注释。

4

5 回答 5

16

我遇到了同样的问题,但是在使用 eslint 的 nuxt 中,我只需要更新 eslint-config 和 eslint-module:

"@nuxtjs/eslint-config": "^5.0.0",
"@nuxtjs/eslint-module": "^3.0.1",

来源:https ://github.com/nuxt/eslint-plugin-nuxt/issues/121

于 2020-11-26T04:09:34.360 回答
7

我刚刚更新了我的 npm 依赖项,但我遇到了同样的错误。

我正在阅读 eslint 文档,最后我意识到如果你在配置文件false error中设置了规则,你可以删除。.eslintrc.js

这是我的.eslintrc.js配置文件:

module.exports = {
  root: true,
  env: {
    browser: true,
    node: true
  },
  parserOptions: {
    parser: 'babel-eslint'
  },
  extends: [
    '@nuxtjs',
    'prettier',
    'prettier/vue',
    'plugin:prettier/recommended',
    'plugin:nuxt/recommended'
  ],
  plugins: [
    'prettier'
  ],
  // add your custom rules here
  rules: {
    "vue/comment-directive": 0
  }
}

添加规则"vue/comment-directive": 0,即!,错误消息被删除!。

可能的值为:

  • 0 表示disabled
  • 1 表示warning
  • 2 表示error

尝试在您的 IDE 中将其更改为它的工作方式

(就我而言,每次更改此配置文件中的值时,我都必须停止服务器并重新运行它。)

于 2020-11-20T19:50:24.880 回答
1

我有同样的错误。我被教导如何解决这个错误。 https://qiita.com/tashinoso/items/a72741ca8e2fd928ca77#comment-3e6cd674353056ecbb3a

module.exports = {
  ...
  overrides: [
    {
      files: ["*.vue"],
      processor: "vue/.vue"
    }
  ]
}
于 2020-12-03T01:59:01.583 回答
0

在 .eslintrc.js 上设置此代码段

"vue/comment-directive": ["error", {
  "reportUnusedDisableDirectives": false
  }]

解决我的问题,我想知道为什么。文档中的解决方案

节点 v12.20.0

于 2020-11-28T23:16:04.980 回答
0

这是一种对我有用的临时修复,我认为它也对你有用。

vue/评论指令

此规则包含在所有“plugin:vue/base”、“plugin:vue/essential”、“plugin:vue/vue3-essential”、“plugin:vue/strongly-recommended”、“plugin:vue/vue3-”中强烈推荐”、“plugin:vue/recommended”和“plugin:vue/vue3-recommended”。

ESLint 不提供任何 API 来增强 eslint-disable 功能,并且 ESLint 规则不会影响其他规则。但是 ESLint 提供了处理器 API。

此规则将所有类似 eslint-disable 的评论作为错误发送到 .vue 文件处理器的后处理,然后后处理删除所有 vue/comment-directive 错误和禁用区域中报告的错误。

您需要做的就是添加 eslint-disable-next-line vue/component-tags-order 这一行作为注释,在您需要指定是否添加注释的每个块中的标签内使用注释的任何位置。

欲了解更多信息,请访问:- https://eslint.vuejs.org/rules/comment-directive.html

于 2021-05-26T20:39:11.327 回答