Javascript 关闭特定文件的eslint规则
是否可以关闭整个文件的eslint规则?例如:Javascript 关闭特定文件的eslint规则,javascript,configuration,lint,eslint,Javascript,Configuration,Lint,Eslint,是否可以关闭整个文件的eslint规则?例如: // eslint-disable-file no-use-before-define (类似于eslint disable line。)我经常会遇到这样的情况,在某个文件中,我在许多地方违反了一条特定的规则,这对该文件来说是正常的,但我不想为整个项目禁用规则,也不想为特定文件禁用其他规则。您可以通过将配置放在文件顶部来关闭/更改文件的特定规则 /* eslint no-use-before-define: 0 */ // --> OF
// eslint-disable-file no-use-before-define
(类似于eslint disable line。)我经常会遇到这样的情况,在某个文件中,我在许多地方违反了一条特定的规则,这对该文件来说是正常的,但我不想为整个项目禁用规则,也不想为特定文件禁用其他规则。您可以通过将配置放在文件顶部来关闭/更改文件的特定规则
/* 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禁用行
类似。如果您不想在重新启用复杂的规则配置时还原它,那么它可能是一种更好的方法
/* eslint-disable */
//suppress all warnings between comments
alert('foo');
/* eslint-enable */
这将禁用块中的所有eslint规则。要禁用文件的特定规则:
/* eslint-disable no-use-before-define */
/* eslint-disable no-console */
注意,eslint中存在一个错误,其中单行注释不起作用-
// eslint-disable max-classes-per-file
// This fails!
您可以通过在项目的根目录中创建一个.eslintignore
文件来告诉ESLint:
.eslintignore
build/*.js
config/*.js
bower_components/foo/*.js
忽略模式的行为符合.gitignore
规范。
(别忘了重新启动编辑器。)要临时禁用文件中的规则警告,请使用以下格式的块注释:
/* eslint-disable */
这将禁用ESLint,直到
/* eslint-enable */
记者就此发表了评论
您可以阅读有关此主题的更多信息。接受的答案对我不起作用(可能是不同版本的eslint…?我使用的是
eslint v3.19.0
),但确实找到了以下解决方案
将以下内容放在文件顶部
/*eslint在定义之前禁用no use*/
这将禁用整个文件的规则您可以使用
/*eslint[]*/
/*eslint无控制台:“关闭”,无混合操作员:“关闭”*/
版本:
eslint@4.3.0
您可以将此示例放在文件顶部:
/* eslint-disable no-use-before-define */
/* eslint-disable no-console */
最好在.eslintrc.js配置文件中添加“覆盖”。
例如,如果您不想对以操作结尾的所有js文件禁用camelcase规则,请在.eslintrc.js中的规则范围后添加此代码
"rules": {
...........
},
"overrides": [
{
"files": ["*Actions.js"],
"rules": {
"camelcase": "off"
}
}
]
根据您想要忽略的规则的数量(全部或部分),以及禁用它的范围(行、文件、无处不在),我们有2×3=6个案例
1) 禁用“所有规则”
案例1.1:您想禁用“一行或多行”的“所有规则” 有两种方法可以做到这一点:
/*eslint禁用行*/
放在行的末尾/*eslint禁用下一行*/
行前的右案例1.2:您想禁用“一个文件”的“所有规则”
- 将
的注释放在文件顶部/*eslint disable*/
案例1.3:您想禁用“某些文件”的“所有规则” 有三种方法可以做到这一点:
/*eslint disable*/
.eslintignore
中。这非常有效,尤其是当您有一条希望被忽略的路径时。(例如,apidoc/**
).eslintignore
文件,可以添加
“eslintinore”:[“file1.js”、“file2.js”]
在package.json
中作为
指示2) 禁用“某些规则”
案例2.1:您想禁用“一行或多行”的“某些规则” 有两种方法可以做到这一点:
/*eslint禁用行引号*/
(用您的规则替换引号
)放在行尾
/*eslint禁用下一行,行前无警报、引号、半*/
案例2.2:您想为“一个文件”禁用“一些规则”
- 将
注释之前/*eslint disable no use置于文件顶部的define*/
案例2.3:您想为“某些文件”禁用“某些规则”
- 这不那么直截了当。您应该按照说明将它们放在
的.eslintrc
部分的“overrides”
对象中“excludedFiles”
无重复字符串
规则
覆盖:[
{
文件:[“***/\uuu测试”.[jt]s?(x)”,“***/?(*)+(规范测试)。[jt]s?(x)”,
规则:{
“sonarjs/无重复字符串”:“关闭”
}
}
]
从今天起,答案对我不起作用,但将其放在文件顶部确实起作用
/*eslint disable@typescript eslint/无未使用的变量*/
重要的是要知道,至少在我的情况下,评论的类型会有所不同。前面的评论对我有效,但下面的无效:
//eslint disable@typescript eslint/无未使用的变量
只需在项目根目录中创建一个空文件.eslintignore
,然后键入要忽略的文件路径
资料来源:
行忽略文件和目录要禁用文件夹内文件的特定规则,您需要使用
.eslintrc
配置文件的“覆盖”
键
例如,如果要删除以下规则:
定义前无需使用
每个函数的最大行数
/spec
你可以加上这个