合并配置
在许多情况下,您不会从头开始编写 ESLint 配置文件,而是会使用预定义的和可共享的配置以及您自己的覆盖来创建项目的配置。本页介绍了一些可以在配置文件中结合配置的模式。
应用配置对象
如果您要从另一个模块导入一个对象,在大多数情况下,您只需将该对象直接插入到配置文件的导出数组中。例如,您可以通过导入 recommended
配置并在您的数组中使用它来使用 JavaScript 的推荐规则配置
// 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"
匹配的文件。