组合配置
在很多情况下,您不会从头开始编写 ESLint 配置文件,而是会结合预定义和可共享的配置以及您自己的覆盖来创建项目的配置。此页面解释了您可以在配置文件中用于组合配置的一些模式。
应用配置对象
如果您从另一个模块导入对象,在大多数情况下,您可以直接将该对象插入到配置文件导出的数组中。例如,您可以使用 JavaScript 的推荐规则配置,方法是导入 recommended
配置并在数组中使用它。
// eslint.config.js
import js from "@eslint/js";
export default [
js.configs.recommended,
{
rules: {
"no-unused-vars": "warn"
}
}
];
这里,首先应用 js.configs.recommended
预定义配置,然后另一个配置对象添加了 no-unused-vars
的所需配置。
将配置对象应用于文件子集
您可以通过创建一个带有 files
键的新对象并使用对象展开运算符合并配置对象中的其余属性,将配置对象应用于文件的子集。例如
// eslint.config.js
import js from "@eslint/js";
export default [
{
...js.configs.recommended,
files: ["**/src/safe/*.js"]
}
];
这里,js.configs.recommended
配置对象仅应用于与模式 "**/src/safe/*.js"
匹配的文件。
应用配置数组
如果您从另一个模块导入数组,您可以使用数组展开运算符将该数组中的项插入到导出的数组中。这是一个例子
// eslint.config.js
import exampleConfigs from "eslint-config-example";
export default [
...exampleConfigs,
// your modifications
{
rules: {
"no-unused-vars": "warn"
}
}
];
这里,首先应用 exampleConfigs
可共享配置,然后另一个配置对象添加了 no-unused-vars
的所需配置。
将配置数组应用于文件子集
您可以通过使用 map()
方法为每个配置对象添加 files
键,将配置数组应用于文件的子集。例如
// eslint.config.js
import exampleConfigs from "eslint-config-example";
export default [
...exampleConfigs.map(config => ({
...config,
files: ["**/src/safe/*.js"]
})),
// your modifications
{
rules: {
"no-unused-vars": "warn"
}
}
];
这里,exampleConfigs
中的每个配置对象仅应用于与模式 "**/src/safe/*.js"
匹配的文件。