关闭特定行的eslint规则


1344

为了在JSHint中关闭特定行的掉毛规则,我们使用以下规则:

/* jshint ignore:start*/
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */

我一直在尝试找到与以上相同的内容。


86
使用eslint-disable-next-line
布莱里·克里斯托弗·奥克斯利

从ESLint v7开始,您可以在同一注释中指定禁用给定规则的原因
Dan Dascalescu

Answers:


2151

您现在可以使用单行语法:

var thing = new Thing(); // eslint-disable-line no-use-before-define
thing.sayHello();

function Thing() {

     this.sayHello = function() { console.log("hello"); };

}

或者,如果您不想在与实际代码相同的行上添加注释,则可以禁用下一行:

// eslint-disable-next-line no-use-before-define
var thing = new Thing();

所需的文档链接:http : //eslint.org/docs/user-guide/configuring.html#configuring-rules


4
现在,我又遇到了一个问题:警告用代码no-inline-comments内联意外注释:(
arcseldon 2015年

51
对我来说很棒。另外,如果您不关心特异性,则可以这样做//eslint-disable-line,它似乎会禁用给定行的所有规则。
KhalilRavanna '16

7
由于某种原因,这对我不起作用;我正在运行eslint 3.8.0。我必须使用/ *禁用禁用* /和/ *启用禁用* /。知道为什么会这样吗?我喜欢单行方法
SomethingOn

8
@SomethingOn遇到了同样的问题,原来我--no-inline-config打开了,这是Prevent comments from changing config or rules
tibalt

4
无法使用“ gulp-eslint”:“ ^ 3.0.1”。我必须使用/ * eslint-disable * /
olefrank

528

您可以使用以下内容

/*eslint-disable */

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

/*eslint-enable */

略微掩盖了文档的“配置规则”部分;

要禁用整个文件的警告,您可以在文件顶部添加注释,例如

/*eslint eqeqeq:0*/

更新资料

ESlint现在已更新,以一种更好的方式禁用单行,请参阅@goofballLogic的出色答案


5
顺便说一句,似乎//注释语法不起作用…
MonsieurDart

还要注意一点,我正在为html中的一行禁用eslint。这项工作:thumbsup:
Adil H. Raza

221

您还可以通过在启用(打开)和禁用(关闭)块中指定特定的规则/规则(而非全部)来禁用它们:

/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert */

通过上面的@goofballMagic链接:http ://eslint.org/docs/user-guide/configuring.html#configuring-rules


6
确保您的随行评论通过随行!- > Expected exception block, space or tab after '/*' in comment.:)
Rimian

我使用的组合prettiereslint格式化我的代码。这不允许内联注释。许多/* eslint-disable-next-line ... */语句很难阅读和发现在代码中。
BernhardDöbler18年

77

配置ESLint-使用内联注释禁用规则

/* eslint-disable no-alert, no-console */


/* eslint-disable */

alert('foo');

/* eslint-enable */


/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert, no-console */


/* eslint-disable */

alert('foo');


/* eslint-disable no-alert */

alert('foo');


alert('foo'); // eslint-disable-line

// eslint-disable-next-line
alert('foo');


alert('foo'); // eslint-disable-line no-alert

// eslint-disable-next-line no-alert
alert('foo');


alert('foo'); // eslint-disable-line no-alert, quotes, semi

// eslint-disable-next-line no-alert, quotes, semi
alert('foo');


foo(); // eslint-disable-line example/rule-name


31

行尾的一般注释// eslint-disable-line不需要任何内容​​:无需查找代码来指定您希望ES Lint忽略的内容。

如果您需要除快速调试之外的任何其他原因而忽略任何语法,那么您会遇到问题:为什么不更新delint配置?

我很乐意// eslint-disable-line允许我插入console以便快速检查服务,而不会因为违反协议而使我的开发环境受阻。(我通常禁止console使用日志记录类,有时该类基于console。)


没有违法,但这是与已接受的答案相同的解决方案,因此不确定是否有帮助?
达伦(Darren)

25
不要这样做。如果您在线上有5个错误,则所有错误都会被忽略。始终明确设置要忽略的规则,否则孩子们会变得一团糟。
FilipDupanović16年

3
@FilipDupanović如果您的程序员可以在一行代码中搞乱,仅仅是因为eslint不在肩膀上寻找一行代码。公司确实存在其他问题……也就是说,说出您想忽略的规则可以更清楚地说明为什么将禁用行放在第一位。
Edwin Stoteler '16

2
@FilipDupanović也许eslint应该有一个元规则,要求显式规则忽略?也许已经做到了。
Josef.B

1
@ Josef.B有一个非标准规则:github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/… 确实很好。
克雷格·哈雷




1

单行注释在react dumb功能组件中对我不起作用,我通过添加/ * eslint-disable insertEslintErrorDefinitionHere * /来禁用文件级别

(通常,如果您使用的是vs代码并出现eslint错误,则可以单击出现错误的行,然后灯泡会显示在vs代码中,右键单击灯泡并选择任何禁用选项,而vs代码将为您。)


-5

您可以将错误的文件添加到项目中的.eslintignore文件中,就像所有.vue文件一样,只需添加/*.vue


4
它要求一行,而不是整个文件
Kevin Danikowski

他也可以停止使用eslint ...如果您只是想忽略每个有问题的文件,为什么要完全使用它?
Ruud Verhoef
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.