关闭特定行的 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
您还可以禁用 特定的 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!)
为了关闭 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
您还可以禁用 特定的 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!)