关闭特定行的 eslint 规则

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

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

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

答案

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

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

您可以使用以下内容

/*eslint-disable */

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

/*eslint-enable */

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

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

/*eslint eqeqeq:0*/

更新资料

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

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

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

使用内联注释禁用规则

http://eslint.org/docs/user-guide/configuring#disabling-rules-with-inline-comments

/* 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- 使用内联注释禁用规则

行注释的常规结尾// eslint-disable-line ,其后不需要任何内容:无需查找代码来指定您希望 ES Lint 忽略的内容。

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

我喜欢// eslint-disable-line ,它允许我插入console以快速检查服务,而没有我的开发环境因违反协议// eslint-disable-line// eslint-disable-line 。 (我通常禁止console ,并使用日志记录类 - 有时基于console构建。)

或者对于下一行的多个忽略,请使用逗号将规则字符串化

// eslint-disable-next-line class-methods-use-this, no-unused-vars

要为以下文件的其余部分禁用单个规则:

/* eslint no-undef: "off"*/
const uploadData = new FormData();

要禁用特定行上的所有规则:

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

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

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