关闭特定行的 eslint 规则

Turning off eslint rule for a specific line

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

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

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

更新

ESlint 现已更新为禁用单行的更好方法,请参阅@goofballLogic 的

旧答案:

您可以使用以下

/*eslint-disable */

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

/*eslint-enable */

它略微隐藏在 docs 的“配置规则”部分;

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

/*eslint eqeqeq:0*/

要禁用下一行:

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

或者使用单行语法:

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

eslint docs

您还可以禁用 特定的 rule/rules(而不是全部),方法是在启用(打开)和禁用(关闭)块中指定它们:

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

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

/* eslint-enable no-alert */

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

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

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

我喜欢 // eslint-disable-line 允许我插入 console 以快速检查服务,而我的开发环境不会因为违反协议而阻碍我。 (我通常禁止 console,并使用日志记录 class - 有时建立在 console 之上。)

回答

您可以使用内联注释:// 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 - Disabling Rules with Inline Comments

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

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

来自Configuring ESLint - 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

您可以在 project.Like 中添加给 .eslintignore 文件带来错误的文件,对于所有 .vue 文件只需添加 /*.vue

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

(通常情况下,如果您使用 vs code 并遇到 eslint 错误,您可以单击出现错误的行,然后 vs code 中会出现一个灯泡,右键单击灯泡并选择任何禁用选项,然后 vs代码会为你完成。)

或者对于下一行的多个忽略,使用逗号将规则串起来

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

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

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

我的回答与其他人给出的答案类似,但显示了您还可以在同一行中为自己添加评论。

// eslint-disable-line // THIS WON"T WORK

如果您还需要在该行上写评论(例如,为什么禁用 eslint),请使用 --

// eslint-disable-line -- comment to self (This DOES work)

可以结合特定的eslint规则来忽略:

// eslint-disable-line no-console -- comment to self (This Also Works!)