是否可以关闭整个文件的eslint规则?例如:
// eslint-disable-file no-use-before-define
(类似于eslint-disable-line。)经常发生在我身上,在某个文件中,我打破了许多地方的特定规则,对于该文件被认为是可以的,但我不想要禁用整个项目的规则,也不想禁用该特定文件的其他规则。
答案 0 :(得分:283)
您可以通过将配置放在文件顶部来关闭/更改文件的特定规则。
/* eslint no-use-before-define: 0 */ // --> OFF
or
/* eslint no-use-before-define: 2 */ // --> ON
更多信息:http://eslint.org/docs/user-guide/configuring.html#configuring-rules
答案 1 :(得分:160)
只需将/* eslint-disable */
放在文件顶部
答案 2 :(得分:89)
您可以通过在项目的根目录中创建.eslintignore
文件来告诉ESLint ignore specific files and directories:
<强> .eslintignore 强>
build/*.js
config/*.js
bower_components/foo/*.js
忽略模式的行为符合.gitignore
规范。
(别忘了重新启动编辑器。)
答案 3 :(得分:77)
您还可以禁用/启用这样的规则:
/* eslint-disable no-use-before-define */
... code that violates rule ...
/* eslint-enable no-use-before-define */
与问题中提到的eslint-disable-line
类似。如果您不希望在重新启用复杂规则配置时还原它,则可能是一种更好的方法。
答案 4 :(得分:38)
要暂时禁用文件中的规则警告,请使用以下格式的块注释:
/* eslint-disable */
这将禁用ESLint直到
/* eslint-enable */
已达成评论。
您可以阅读有关此主题的更多信息here。
答案 5 :(得分:28)
接受的答案对我没有用(可能是不同版本的eslint ......?我使用eslint v3.19.0
),但确实找到了以下解决方案......
将以下内容放在文件顶部
/* eslint-disable no-use-before-define */
这将禁用整个文件的规则
答案 6 :(得分:6)
/*eslint-disable */
//suppress all warnings between comments
alert('foo');
/*eslint-enable */
它对我有用
答案 7 :(得分:5)
从今天开始,答案对我来说不起作用,但是将其放在文件的顶部起作用:
/* eslint-disable @typescript-eslint/no-unused-vars */
重要的是,至少在我看来,评论的类型会有所作为。前面的评论对我有用,但是下面的不起作用:
// eslint-disable @typescript-eslint/no-unused-vars
答案 8 :(得分:5)
您可以配置eslint覆盖属性以关闭与如下所示的glob模式匹配的文件上的特定规则。
在这里,我想关闭no-duplicate-string
规则以测试所有文件。
overrides: [
{
files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
rules: {
'sonarjs/no-duplicate-string': 'off'
}
}
]
答案 9 :(得分:3)
您可以将其放在文件顶部,例如:
/* eslint-disable no-console */
答案 10 :(得分:3)
总结:
将/* eslint-disable */
的注释放在文件顶部。
您可以通过3种方式进行此操作:
/* eslint-disable */
。.eslintignore
中。如果您有要忽略的 path ,则此方法效果很好。 (例如apidoc/**
).eslintignore
文件,则可以添加
"eslintIgnore": ["file1.js", "file2.js"]
中的package.json
为
指示here。将/* eslint-disable no-use-before-define */
注释放在文件顶部。更多示例here。
这不是那么简单。您应按照here的说明将它们放在"excludedFiles"
的{{1}}部分的"overrides"
对象中。
答案 11 :(得分:3)
最好在.eslintrc.js配置文件中添加“替代”。 例如,如果您不想为所有以Actions结尾的js文件禁用camelcase规则,则在.eslintrc.js中的规则作用域之后添加此代码。
"rules": {
...........
},
"overrides": [
{
"files": ["*Actions.js"],
"rules": {
"camelcase": "off"
}
}
]
答案 12 :(得分:2)
要禁用文件夹中文件的特定规则,您需要使用"overrides"
配置文件的.eslintrc
键。
例如,如果要删除以下规则:
no-use-before-define
max-lines-per-function
对于以下主目录中的所有文件:
/spec
您可以将其添加到您的.eslintrc
文件中...
"overrides": [
{
"files": ["spec/**/*.js"],
"rules": {
"no-use-before-define": ["off"],
"max-lines-per-function": ["off"]
}
}
]
请注意,我在**
glob中使用了spec/**/*.js
,这意味着我正在递归地查找文件夹中的所有子文件夹 >称为spec
,并选择所有以js
结尾的文件,以便从文件中删除所需的规则。
答案 13 :(得分:1)
简单有效。
Eslint 6.7.0引入了“ ignorePatterns”,如以下示例所示将其写入.eslintrc.json:
{
"ignorePatterns": ["fileToBeIgnored.js"],
"rules": {
//...
}
}
答案 14 :(得分:1)
您可以在文件顶部添加这些行。
// @ts-nocheck
/* eslint-disable */
答案 15 :(得分:0)
您可以使用[Authorize(Roles = "Admin")]
[HttpGet("[action]/{id}")]
public User GetUser([FromRoute] int id)
{
UserLogic ul = new UserLogic();
return ul.GetUser(id);
}
if (head == null){
head = node;
} else {
FoodListNode tmp = head;
while (tmp.next != null)->{
tmp = tmp.next;
tmp.next = node;
}<-
}
版本:/*eslint [<rule: "off"], >]*/
答案 16 :(得分:0)
只需在项目根目录中创建一个空文件.eslintignore
,然后键入要忽略的文件的路径即可。
第行,忽略文件和目录