是否可以关闭整个文件的eslint规则?例如:
// eslint-disable-file no-use-before-define
(类似于eslint-disable-line。)我经常遇到这样的情况,在某个文件中,我在许多地方违反了特定的规则,这对该文件来说是OK的,但我不想为整个项目禁用该规则,也不想为该特定文件禁用其他规则。
是否可以关闭整个文件的eslint规则?例如:
// eslint-disable-file no-use-before-define
(类似于eslint-disable-line。)我经常遇到这样的情况,在某个文件中,我在许多地方违反了特定的规则,这对该文件来说是OK的,但我不想为整个项目禁用该规则,也不想为该特定文件禁用其他规则。
您可以通过将配置放在文件的顶部来关闭/更改文件的特定规则。
/* eslint no-use-before-define: 0 */ // --> OFF
or
/* eslint no-use-before-define: 2 */ // --> ON
更多信息
你也可以像这样禁用/启用一个规则:
/* eslint-disable no-use-before-define */
... code that violates rule ...
/* eslint-enable no-use-before-define */
类似于问题中提到的eslint-disable-line。如果您不想在重新启用规则配置时恢复复杂的规则配置,那么这可能是一个更好的方法。
/* eslint-disable */
//suppress all warnings between comments
alert('foo');
/* eslint-enable */
这将禁用块内的所有eslint规则。
禁用文件的指定规则。
/* eslint-disable no-use-before-define */
注意,在eslint中有一个错误,单行注释将不起作用
// eslint-disable max-classes-per-file
// This fails!
查看这篇文章
你可以通过在项目的根目录中创建一个.eslintignore文件来告诉ESLint忽略特定的文件和目录:
eslintignore。
build/*.js
config/*.js
bower_components/foo/*.js
ignore模式的行为符合.gitignore规范。 (不要忘记重新启动编辑器。)
要暂时禁用文件中的规则警告,请使用以下格式的块注释:
/* eslint-disable */
这将禁用ESLint直到
/* eslint-enable */
已发表评论。
你可以在这里阅读更多关于这个主题的内容。
接受的答案不适合我(可能是eslint的不同版本…?)我使用eslint v3.19.0),但确实找到了一个解决方案与以下…
将以下内容放在文件顶部
/* eslint-disable - no-use-before-define */
这将禁用整个文件的规则
你可以使用/*eslint [<rule: "off"], >]*/关闭一个文件的特定规则
/* eslint no-console: "off", no-mixed-operators: "off" */
版本:eslint@4.3.0
最好在.eslintrc.js配置文件中添加“overrides”。 例如,如果你不想对所有以Actions结尾的js文件禁用camelcase规则,在.eslintrc.js的rules scope后添加以下代码。
"rules": {
...........
},
"overrides": [
{
"files": ["*Actions.js"],
"rules": {
"camelcase": "off"
}
}
]
亲爱的优秀的开发人员,像您经常做的那样,让我们对这些场景进行分析吧!
首先,你要问自己两个问题。
问题一:你想忽略多少条“规则”?
所有规则 一条或多条特定规则(如引号或半引号)
问题二:你想忽略多少“行/文件”?
一行或多行 一个或多个文件中的所有行 到处都是
现在,根据你的答案,有2 × 3 = 6种情况。
1)禁用“所有规则”
案例1.1:你想为“一行或多行”禁用“All Rules”
有两种方法可以做到这一点:
将/* eslint-disable-line */放在行末, 或者/* eslint-disable-next-line */行前。
案例1.2:你想禁用“一个文件”的“所有规则”
将/* eslint-disable */注释放在文件的顶部。
案例1.3:你想禁用“某些文件”的“所有规则”
有3种方法可以做到:
您可以使用1.2,并在文件顶部逐个添加/* eslint-disable */。 您可以将文件名放在.eslintignore中。这很有效,特别是当你有一个你想忽略的路径时。(如apidoc / * *) 或者,如果您不想有一个单独的.eslintignore文件,您可以添加 "eslintIgnore": ["file1.js", "file2.js"]json作为 指示。
2)禁用“某些规则”
案例2.1:你想为“一行或多行”禁用“一些规则”
有两种方法可以做到这一点:
你可以把/* eslint-disable-line引号*/(用你的规则替换引号)放在行末, 或者/* eslint-disable-next-line no-alert,引号,半*/在行前。
专业提示:如果你有多行想要忽略相同的规则,你可以像这样禁用和启用规则:
// Assume these lines are long engouh that max-len is gonna trigger
/* eslint-disable max-len */
console.log("I am a loooooooooo...ooooong line 1, but eslint doesn't bug!");
console.log("I am a loooooooooo...ooooong line 2, but eslint doesn't bug!");
console.log("I am a loooooooooo...ooooong line 3, but eslint doesn't bug!");
/* eslint-enable max-len */
console.log("I am a loooooooooo...ooooong line 4, AND eslint's GONNA CRY!"); // <--- eslint is gonna cry over this one only!
案例2.2:你想禁用“One File”的“Some Rules”
将/* eslint-disable no-use-before-define */注释放在文件的顶部。
这里有更多的例子。
案例2.3:你想禁用“一些文件”的“一些规则”
这就不那么简单了。你应该在你的.eslintrc中创建一个“overrides”部分,并指定哪些规则应该为哪些glob /文件禁用/修改。在这个答案中可以找到一个例子。
你可以配置eslint overrides属性来关闭匹配glob模式的文件的特定规则,如下所示。
在这里,我想关闭测试所有文件的no-duplicate-string规则。
overrides: [
{
files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
rules: {
'sonarjs/no-duplicate-string': 'off'
}
}
]
到今天为止,这个答案不适合我,但把这个放在文件的顶部确实有用:
/* eslint-disable @typescript-eslint/no-unused-vars */
重要的是要知道,至少在我的情况下,评论的类型是有区别的。之前的评论对我来说是可行的,但下面的评论行不通:
// eslint-disable @typescript-eslint/no-unused-vars
简单地在你的项目根目录中创建一个空文件.eslintignore,即你想要忽略的文件的路径类型。
来源:https://eslint.org/docs/2.13.1/user-guide/configuring: ~:文本= % 20禁用% 20规则% 20警告% 20,* % 2 f % 20警报(“foo”)% 3 b
行忽略文件和目录
要禁用文件夹内文件的特定规则,您需要使用.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 6.7.0引入了"ignorePatterns"来在.eslintrc.json中编写,如下所示:
{
"ignorePatterns": ["fileToBeIgnored.js"],
"rules": {
//...
}
}
看文档
如果你想为一个规则禁用ESLint,你可以在文件的顶部添加这个:
/* eslint-disable NAME_OF_THE_RULE */
如果你想在文件中禁用ESLint或TypeScript检查,你可以在文件顶部添加这些行。第一个将禁用TypeScript检查,第二个将禁用ESLint检查。
// @ts-nocheck
/* eslint-disable */
要暂时禁用文件中的规则警告,请使用以下格式的块注释:
/* eslint-disable */
警报(“foo”);
/* eslint-enable */ 您还可以禁用或启用特定规则的警告:
/* eslint-disable no-alert, no-console */
警报(“foo”); console.log('bar');
/* eslint-enable no-alert, no-console / 要在整个文件中禁用规则警告,在文件顶部放置/ eslint-disable */ block注释:
/* eslint-disable */
警报(“foo”); 您还可以禁用或启用整个文件的特定规则:
/* eslint-disable no-alert */
警报(“foo”); 要禁用特定行上的所有规则,请使用以下格式之一的行注释:
下面是一些禁用页面ESLint的例子
警报(“foo”);eslint-disable-line
/ / eslint-disable-next-line 警报(“foo”); 禁用特定行上的特定规则:
警报(“foo”);// eslint-disable-line no-alert
// eslint-disable-next-line no-alert 警报(“foo”); 禁用某一行的多条规则。
警报(“foo”);// eslint-disable-line no-alert, quotes, semi
// eslint-disable-next-line no alert, quotes, semi 警报(“foo”);
执行以下步骤禁用ESLint从你的项目
打开的包。配置文件在您的项目。 删除与ESLint相关的所有依赖项。 从你的项目中删除eslint.js/eslintconfig文件 执行命令NPM install 现在运行你的项目