关闭特定行的 eslint 规则
Turning off eslint rule for a specific line
为了关闭JSHint中特定行的linting规则,我们使用以下规则:
/* jshint ignore:start*/
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */
我一直在尝试为 eslint 找到上述等效项。
禁用下一行:
// eslint-disable-next-line no-use-before-define
var thing = new Thing();
或者使用单行语法:
var thing = new Thing(); // eslint-disable-line no-use-before-define
查看 eslint 文档
<小时 />感谢哈利勒·拉瓦纳的评论
如果您不关心特异性,您可以只执行//eslint-disable-line,它似乎禁用了给定行的所有规则
var thing = new Thing() // eslint-disable-line
更新
ESlint 现已更新为禁用单行的更好方法
// eslint-disable-next-line $rulename
看到@goofballLogic的精彩答案。
注意,虽然,以上不适用于jsx,例如React网络应用程序
<小时 />旧答案
您可以使用以下一对禁用/启用注释 - 请注意仅/*eslint ... */
语法有效,//eslint ...
不起作用
/* eslint-disable */
alert('suppress all warnings between comments')
/* eslint-enable */
/* eslint-disable eqeqeq */
alert('suppress specific warning eg eqeqeq between comments')
/* eslint-enable eqeqeq */
<小时 />禁用特定警告,例如 eqeqeq
整个文件,您可以在文件顶部添加注释:
/* eslint eqeqeq:0 */
当多规则被忽略时,将它们列在用空格分隔的 1 行上
/* eslint jsx-a11y/alt-text:0 react/jsx-no-duplicate-props: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
ESLint - 使用内联注释禁用规则:
/* 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
以快速检查服务,而不会因为我的开发环境而因违反协议而阻碍我。(我通常禁止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
我的答案,类似于给出的其他答案,但显示了如何在同一行上为自己添加评论。
// 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!)
禁用特定行上的所有规则:
// @ts-ignore
$scope.someVar = ConstructorFunction();
单行注释在 react 哑功能组件中对我不起作用,我通过添加/* eslint-disable insertEslintErrorDefinitionHere */
(通常,如果您正在使用VS代码并遇到eslint错误,则可以单击给出错误的行,灯泡将显示在VS代码中,右键单击灯泡并选择任何禁用选项,VS代码将为您完成。
我已经禁用了下面的某件事
<TableRow
key={index}
className={classes.tableRow}
onClick={this.onSelectedValue.bind(this, user)} // eslint-disable-line
>{index}
</TableRow>
您可以在项目中添加给 .eslintignore 文件带来错误的文件。像所有 .vue 文件一样,只需添加/*.vue
- 用Javascript修改内部标记的CSS规则
- 如何禁用和启用css规则
- eslint:“;分析错误:意外的“”标记;
- 在验证器中添加自定义规则以检查<ul>具有元素
- 如何在JavaScript中创建打字机效果,这将考虑html标记规则
- Magento目录价格折扣规则不适用于产品详细信息页面
- 我有多个复选框,并希望为其中 2 个制定规则,以便如果我选择 1 个,则无法选择另一个
- 自定义 eslint 规则抛出意外的保留字
- 关闭特定行的 eslint 规则
- ESLint的“no-undef”规则将我对Underscore的使用称为未定义的变量
- 包括同一ESLint规则的错误和警告
- 自定义ESLint规则中的异步代码
- 任何自动修复或自动更正ESLint规则的解决方案
- 我们是否需要“检查重复键”的规则?在ESLint
- 我可以创建一个ESLint规则,允许所有的全局变量匹配一个正则表达式吗?
- 默认加载eslint插件规则
- 我如何写一个ESLint规则的&;linebreak-style&;,根据Windows或Unix的变化
- ESlint有关于函数第一个语句前空行的规则吗?
- 我如何获得一个自定义eslint规则来做context.在没有节点的情况下进行报告
- ESLint:如何在文件中设置“新大写”规则的“capIsNewExceptions”选项