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