关闭特定行的eslint规则

run*_*ero 1214 javascript jshint eslint

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

/* jshint ignore:start*/
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */
Run Code Online (Sandbox Code Playgroud)

我一直试图找到相当于以上的eslint.

goo*_*gic 1976

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

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

function Thing() {

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

}
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想在实际代码的同一行上发表评论,则可以禁用下一行:

// eslint-disable-next-line no-use-before-define
var thing = new Thing();
Run Code Online (Sandbox Code Playgroud)

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

  • 对我来说很棒.此外,如果您不关心特异性,您可以执行`// eslint-disable-line`,它似乎禁用给定行的所有规则. (41认同)
  • 出于某种原因,这对我不起作用; 我正在运行eslint 3.8.0.我必须使用/*eslint-disable*/和/*eslint-enable*/.知道为什么会这样吗?我喜欢单线方法 (6认同)
  • @SomethingOn 有同样的问题,结果我打开了`--no-inline-config`,它`防止评论更改配置或规则` (6认同)
  • 现在我得到另一个eslint问题:警告意外注释内联代码no-inline-comments :( (4认同)
  • 不使用"gulp-eslint":"^ 3.0.1".我必须使用/*eslint-disable*/ (3认同)

Nic*_*lin 487

您可以使用以下内容

/*eslint-disable */

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

/*eslint-enable */
Run Code Online (Sandbox Code Playgroud)

这稍微掩盖了文档的"配置规则"部分;

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

/*eslint eqeqeq:0*/
Run Code Online (Sandbox Code Playgroud)

更新

ESlint现在已经更新了更好的禁用单行的方法,请参阅@ goofballLogic的优秀答案.

  • 顺便说一下,似乎`//`注释语法不起作用...... (3认同)
  • 另外,我正在寻找禁用 html 中一行的 eslint 的方法。这有效:thumbup: (2认同)

a d*_*ren 202

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

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

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

/* eslint-enable no-alert */
Run Code Online (Sandbox Code Playgroud)

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

  • 确保你的eslint评论通过了eslint! - >`注释中'/*'之后的预期异常块,空格或制表符.:) (5认同)

小智 62

使用内联注释禁用规则

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
Run Code Online (Sandbox Code Playgroud)


Bry*_*ley 32

回答

您可以使用内联注释:// 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');
Run Code Online (Sandbox Code Playgroud)

参考

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


Lee*_*Gee 31

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

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

我喜欢// eslint-disable-line允许我插入console以便快速检查服务,而不会因为违反协议而导致我的开发环境阻碍我.(我通常禁止console使用日志记录类 - 有时会构建它console.)

  • 不要这样做.如果你在线上有5个错误,它们都会被忽略.始终明确设置要忽略的规则或孩子们会弄得一团糟. (21认同)
  • @FilipDupanović如果你的程序员可以在一行代码中弄得一团糟,那只是因为eslint并没有在一条线上看他们的肩膀.贵公司确实出现了其他问题......那就是说,你想要忽略的规则让你更清楚为什么要把禁用线放在那里. (3认同)
  • @FilipDupanović也许eslint应该有一个元规则要求显式规则忽略?也许它已经做到了. (2认同)

She*_*man 16

我的答案与其他给出的答案类似,但展示了如何在同一行上为自己添加评论。

// eslint-disable-line // THIS WON"T WORK
Run Code Online (Sandbox Code Playgroud)

--如果您还需要在该行上写注释(例如,也许为什么 eslint 被禁用),请使用

// eslint-disable-line -- comment to self (This DOES work)
Run Code Online (Sandbox Code Playgroud)

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

// eslint-disable-line no-console -- comment to self (This Also Works!)
Run Code Online (Sandbox Code Playgroud)


Ray*_*aga 12

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

// eslint-disable-next-line class-methods-use-this, no-unused-vars
Run Code Online (Sandbox Code Playgroud)


Far*_*lam 9

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

/* eslint no-undef: "off"*/
const uploadData = new FormData();
Run Code Online (Sandbox Code Playgroud)

  • 或 `/* eslint-disable no-new */` (3认同)

小智 6

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

alert('foo'); // eslint-disable-line
Run Code Online (Sandbox Code Playgroud)


小智 5

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

// @ts-ignore
$scope.someVar = ConstructorFunction();
Run Code Online (Sandbox Code Playgroud)