关闭特定行的 eslint 规则

IT技术 javascript jshint eslint
2021-02-10 20:42:38

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

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

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

6个回答

要禁用下一行:

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

或者使用单行语法:

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

查看eslint 文档

现在我遇到了另一个 eslint 问题:警告 Unexpected comment inline with code no-inline-comments :(
2021-03-14 20:42:38
出于某种原因,这对我不起作用;我正在运行 eslint 3.8.0。我必须使用 /*eslint-disable */ 和 /*eslint-enable */。知道为什么会这样吗?我喜欢单线方法
2021-03-20 20:42:38
不适用于“gulp-eslint”:“^3.0.1”。我必须使用 /*eslint-disable */
2021-03-29 20:42:38
@SomethingOn 有同样的问题,结果我--no-inline-config打开了,Prevent comments from changing config or rules
2021-03-31 20:42:38
对我很有用。此外,如果您不关心特异性,您可以这样做//eslint-disable-line,它似乎禁用了给定行的所有规则。
2021-04-08 20:42:38

更新

ESlint 现在已更新,以更好的方式禁用单行,请参阅@goofballLogic 的优秀答案

旧答案:

您可以使用以下

/*eslint-disable */

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

/*eslint-enable */

这稍微隐藏了文档的“配置规则”部分

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

/*eslint eqeqeq:0*/
还有一个旁注,我正在寻找在 html 中禁用一行的 eslint。这有效 :thumbsup:
2021-03-13 20:42:38
顺便说一句,//注释语法似乎不起作用……
2021-03-18 20:42:38

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

/* 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

确保你的 eslint 评论通过 eslint!-> Expected exception block, space or tab after '/*' in comment.:)
2021-03-16 20:42:38
我使用的组合prettiereslint格式化我的代码。这不允许内联注释。许多/* eslint-disable-next-line ... */语句难以阅读和在代码中发现。
2021-04-02 20:42:38

配置 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

回答

您可以使用内联注释:// eslint-disable-next-line rule-name.

例子

// eslint-disable-next-line no-console
console.log('eslint will ignore the no-console on this line of code');

参考

ESLint -禁用带有内联注释的规则

只是 fwiw,似乎最新的文档页面(至少截至今天),其中包含如何通过评论暂时关闭功能的示例已从您提供的页面移至eslint.org/docs/user-guide/configuring/rules #禁用规则
2021-04-07 20:42:38