Skip to content

overrides 可用来针对于特定文件,重写规则。

7-1.基本用法

overrides 可以用来重写 extendsrules 以及 parserOptions,此处以 rules 为例:

js
module.exports = {
  root: true,
  rules: {
    semi: ["warn"],
    "no-console": ["off"]
  },
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module'
  },
  overrides: [
    {
      // contants.js采用特有的rules
      files: ['lib/contants.js'],
      rules: {
        semi: ["off"]
      }
    }
  ]
}

7-2.结合Glob

overrides 中的 files 对象也可以结合Glob一起来使用。

js
module.exports = {
  root: true,
  rules: {
    semi: ["warn"],
    "no-console": ["off"]
  },
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module'
  },
  overrides: [
    {
      files: ['lib/*.js'],
      excludedFiles: ['lib/contants.js'],
      rules: {
        semi: ["off"]
      }
    }
  ]
}

TIP

excludedFiles 属性可以在 overrides 的规则下,进一步精细化的区分、排除特定文件。

所以在使用 overrides 属性时,如果需要排除某些文件,更加倾向于与 excludedFiles 联用。

而不是使用下节当中的 .eslintignore 相关忽略方式,这种方式虽然也能够使用 Glob 来排除,但不推荐与 overrides 配合使用。

.eslintignore 更加适用于项目的全局性配置