如何向 eslint 规则添加例外?

How to add exception to a eslint rule?

我正在尝试使用 linting 规则 -- 在我的 eslint 配置文件中禁止多个空格(无多空格)。我正在使用当前最新版本的 eslint。

我知道这条规则不允许在语句中使用多个空格 例如

if(foo  === "bar") {}

这里会失败,完全没问题。 但在这种情况下它也会失败

var React          = require('react');
var ReactRouter    = require('react-router');

我不想在此处应用该规则。

在这种变量声明的情况下,有什么方法可以阻止应用 lint 规则吗?

此规则 (no-multi-spaces) 有一个选项 exceptions,您可以将其配置为忽略所有变量声明。配置应如下所示:

no-multi-spaces: ["error", { exceptions: { "VariableDeclarator": true } }]

这将跳过检查中的所有变量声明。

一般来说,您还可以使用注释来禁用任何 ESLint 规则。 ESLint 支持块样式注释:/* eslint-disable */ /* eslint-enable */ 禁用所有规则或 /* eslint-disable rule-name */ /* eslint-enable rule-name*/ 禁用特定规则。禁用和启用注释之间的所有内容都将被忽略。您还可以使用行内注释:// eslint-disable-line 禁用当前行的所有规则,或 // eslint-disable-line rule-name 禁用特定规则。同样适用于 // eslint-disable-next-line 但对于下一行。

如果一切都失败了,您可以在配置中禁用该规则。如果您发现自己处于需要经常使用注释的情况,很可能这条规则不适合您的编码风格。并非每个规则都适合每个人,启用尽可能多的规则也没有奖励。