是否可以关闭整个文件的eslint规则?例如:

// eslint-disable-file no-use-before-define 

(类似于eslint-disable-line。)我经常遇到这样的情况,在某个文件中,我在许多地方违反了特定的规则,这对该文件来说是OK的,但我不想为整个项目禁用该规则,也不想为该特定文件禁用其他规则。


当前回答

你可以通过在项目的根目录中创建一个.eslintignore文件来告诉ESLint忽略特定的文件和目录:

eslintignore。

build/*.js
config/*.js
bower_components/foo/*.js

ignore模式的行为符合.gitignore规范。 (不要忘记重新启动编辑器。)

其他回答

要暂时禁用文件中的规则警告,请使用以下格式的块注释:

/* eslint-disable */

这将禁用ESLint直到

/* eslint-enable */

已发表评论。

你可以在这里阅读更多关于这个主题的内容。

到今天为止,这个答案不适合我,但把这个放在文件的顶部确实有用:

/* eslint-disable @typescript-eslint/no-unused-vars */

重要的是要知道,至少在我的情况下,评论的类型是有区别的。之前的评论对我来说是可行的,但下面的评论行不通:

// eslint-disable @typescript-eslint/no-unused-vars

把这个加到你文件的最上面。 这将分别禁用所有eslint警告。

/* eslint-disable */
/* eslint-disable */

//suppress all warnings between comments
alert('foo');

/* eslint-enable */

这将禁用块内的所有eslint规则。

要禁用文件夹内文件的特定规则,您需要使用.eslintrc配置文件的"overrides"键。

例如,如果您想删除以下规则:

no-use-before-define max-lines-per-function

对于以下主目录中的所有文件:

/规范

您可以将此添加到您的.eslintrc文件…

"overrides": [
  {
    "files": ["spec/**/*.js"],
    "rules": {
      "no-use-before-define": ["off"],
      "max-lines-per-function": ["off"]
    }
  }
]

注意,我在spec/**/*.js glob中使用了**,这意味着我正在递归地查找名为spec的文件夹中的所有子文件夹,并选择所有以js结尾的文件,以便从中删除所需的规则。