設定解析器
您可以使用自訂解析器將 JavaScript 程式碼轉換為抽象語法樹,供 ESLint 評估。如果您的程式碼與 ESLint 的預設解析器 Espree 不相容,您可能會想要新增自訂解析器。
設定自訂解析器
在許多情況下,您可以使用 ESLint 隨附的預設解析器來解析您的 JavaScript 程式碼。您可以選擇性地使用 parser
屬性覆寫預設解析器。parser
屬性必須是一個符合解析器介面的物件。例如,您可以使用@babel/eslint-parser
套件,讓 ESLint 可以解析實驗性的語法。
// eslint.config.js
import babelParser from "@babel/eslint-parser";
export default [
{
files: ["**/*.js", "**/*.mjs"],
languageOptions: {
parser: babelParser
}
}
];
此設定可確保 Babel 解析器(而非預設的 Espree 解析器)用於解析所有以 .js
和 .mjs
結尾的檔案。
以下第三方解析器已知與 ESLint 相容
- Esprima
- @babel/eslint-parser - Babel 解析器的包裝器,使其與 ESLint 相容。
- @typescript-eslint/parser - 將 TypeScript 轉換為與 ESTree 相容的格式的解析器,使其可在 ESLint 中使用。
設定解析器選項
解析器可能會接受選項來變更其行為。languageOptions.parserOptions
用於將選項直接傳遞給解析器。這些選項始終是解析器特定的,因此您需要查看您正在使用的解析器的文件,以了解可用的選項。以下是為 Babel ESLint 解析器設定解析器選項的範例
// eslint.config.js
import babelParser from "@babel/eslint-parser";
export default [
{
languageOptions: {
parser: babelParser,
parserOptions: {
requireConfigFile: false,
babelOptions: {
babelrc: false,
configFile: false,
presets: ["@babel/preset-env"]
}
}
}
}
];