为了关闭 JSHint 中特定行的 linting 规则,我们使用以下规则:
/* jshint ignore:start*/
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */
我一直在尝试为 eslint 找到上述内容的等价物。
eslint-disable-next-line
:
// eslint-disable-line no-console, max-len
要禁用下一行:
// 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
更新
ESlint 现在已更新为禁用单行的更好方法,请参阅 @goofballLogic 的 excellent answer。
老答案:
您可以使用以下
/*eslint-disable */
//suppress all warnings between comments
alert('foo');
/*eslint-enable */
稍微隐藏在 docs 的“配置规则”部分;
要禁用整个文件的警告,您可以在文件顶部添加注释,例如
/*eslint eqeqeq:0*/
//
注释语法不起作用......
您还可以通过在启用(打开)和禁用(关闭)块中指定特定规则/规则(而不是全部)来禁用它们:
/* 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
Expected exception block, space or tab after '/*' in comment.
:)
prettier
和 eslint
的组合来格式化我的代码。这不允许内联注释。许多 /* eslint-disable-next-line ... */
语句很难在代码中阅读和发现。
从 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
回答
您可以使用内联注释:// 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-disable-line
后面不需要任何内容:无需查找代码来指定您希望 ES Lint 忽略的内容。
如果你需要忽略任何语法而不是快速调试,你就会遇到问题:为什么不更新你的 delint 配置呢?
我喜欢 // eslint-disable-line
允许我插入 console
以快速检查服务,而我的开发环境不会因为违反协议而阻碍我。 (我通常禁止 console
,并使用日志记录类 - 有时建立在 console
之上。)
或者对于下一行的多个忽略,使用逗号将规则串起来
// eslint-disable-next-line class-methods-use-this, no-unused-vars
要为以下文件的其余部分禁用单个规则:
/* eslint no-undef: "off"*/
const uploadData = new FormData();
/* eslint-disable no-new */
要禁用特定行上的所有规则:
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!)
单行注释在反应哑功能组件中对我不起作用,我通过添加 /* eslint-disable insertEslintErrorDefinitionHere */ 使用文件级禁用
(通常如果您使用 vs 代码并遇到 eslint 错误,您可以单击给出错误的行,并且在 vs 代码中会出现一个灯泡,右键单击灯泡并选择任何禁用选项,vs 代码将执行此操作你。)
您可以在项目中添加给 .eslintignore 文件带来错误的文件。就像所有 .vue 文件一样,只需添加 /*.vue
不定期副业成功案例分享
//eslint-disable-line
并且它似乎会禁用给定行的所有规则。--no-inline-config
,其中Prevent comments from changing config or rules