如何在eslint规则中添加异常?

Wit*_*ult 4 javascript eslint

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

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

if(foo  === "bar") {}
Run Code Online (Sandbox Code Playgroud)

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

var React          = require('react');
var ReactRouter    = require('react-router');
Run Code Online (Sandbox Code Playgroud)

我不希望在这里应用规则.

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

Ily*_*din 7

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

no-multi-spaces: ["error", { exceptions: { "VariableDeclarator": true } }]
Run Code Online (Sandbox Code Playgroud)

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

通常,您还可以使用注释来禁用任何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以下行.

如果所有其他方法都失败,您只需在配置中禁用该规则即可.如果你发现自己处于这种情况,你需要不断使用评论,很可能这条规则不适合你的编码风格.不是每个规则都适合每个人,并且没有奖励尽可能多的规则.