合併設定檔
在許多情況下,您不會從頭開始編寫 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"
模式的檔案。