是否可以关闭整个文件的eslint规则?例如:
// eslint-disable-file no-use-before-define
(类似于eslint-disable-line。)我经常遇到这样的情况,在某个文件中,我在许多地方违反了特定的规则,这对该文件来说是OK的,但我不想为整个项目禁用该规则,也不想为该特定文件禁用其他规则。
是否可以关闭整个文件的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警告。
/* eslint-disable */
要禁用文件夹内文件的特定规则,您需要使用.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结尾的文件,以便从中删除所需的规则。
如果你想为一个规则禁用ESLint,你可以在文件的顶部添加这个:
/* eslint-disable NAME_OF_THE_RULE */
如果你想在文件中禁用ESLint或TypeScript检查,你可以在文件顶部添加这些行。第一个将禁用TypeScript检查,第二个将禁用ESLint检查。
// @ts-nocheck
/* eslint-disable */
你也可以像这样禁用/启用一个规则:
/* eslint-disable no-use-before-define */
... code that violates rule ...
/* eslint-enable no-use-before-define */
类似于问题中提到的eslint-disable-line。如果您不想在重新启用规则配置时恢复复杂的规则配置,那么这可能是一个更好的方法。