overrides 可用来针对于特定文件,重写规则。
7-1.基本用法
overrides 可以用来重写 extends、rules 以及 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 更加适用于项目的全局性配置。