ESLint 禁止规则出现警告的 5 种方式

我们一般会在 ESLint 配置文件 rules 中针对我们的项目做一些个性化的禁用规则的配置。

比如我们配置文件中,有以下这一条禁用规则,意味着所有被检测的文件中都不允许使用 alert() 方法。

{
  rules: {
    'no-alert': 2
  }
}

假如我们调试某个功能时需要用到 alert() 方法,但又不想 ESLint 检测出现警告,要怎么做呢?

其实,ESLint 支持在你的文件中使用行注释或者块注释的方式来禁止(某些)规则。

一、禁止警告的方式

  1. 通过块注释来临时禁止规则出现警告
/* eslint-disable */
alert('foo')
/* eslint-enable */
  1. 对指定的规则启用或禁用警告
/* eslint-disable no-alert, no-console */
alert('foo')
console.log('bar')
/* eslint-enable no-alert, no-console */
  1. 通过行注释或块注释在某一特定的行上禁用所有规则
// 当前行
alert('foo') // eslint-disable-line
alert('foo') /* eslint-disable-line */

// 关闭下一行校验
// eslint-disable-next-line
alert('foo')
/* eslint-disable-next-line */
alert('foo')
  1. 在文件顶部加上块注释,使整个文件范围内禁止规则出现警告
/* eslint-disable */

alert('foo')

若临时禁止某个或多个规则出现警告,可以在末尾跟上要禁止的规则,比如:// eslint-disable-line no-alert 可以在当前行使用 alert() 时禁止出现警告。多个规则时,使用逗号 (,) 隔开。

另外,以上所有方法同样适用于插件规则。例如,禁止 eslint-plugin-examplerule-name 规则,把插件名(example)和规则名(rule-name)结合为 example/rule-name

  1. 若要禁用一组文件的配置文件中的规则,请使用 overridesfiles。例如:
// 以下是 Javascript 格式,若 JSON 形式配置文件请注意格式。
{
  rules: {...},
  overrides: [
    {
      files: ['*-test.js','*.spec.js'],
      rules: {
        'no-unused-expressions': 0
      }
    }
  ]
}

最后

*注意:为文件的某部分禁用警告的注释,告诉 ESLint 不要对禁用的代码报告规则的冲突。ESLint 仍解析整个文件,然而,禁用的代码仍需要是有效的 JavaScript 语法。

你可能感兴趣的:(ESLint 禁止规则出现警告的 5 种方式)