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
更加适用于项目的全局性配置。