設定解析器 (已過時)
您可以使用自訂解析器將 JavaScript 程式碼轉換為抽象語法樹,供 ESLint 評估。如果您的程式碼與 ESLint 的預設解析器 Espree 不相容,您可能想要新增自訂解析器。
設定自訂解析器
預設情況下,ESLint 使用 Espree 作為其解析器。如果解析器符合以下要求,您可以選擇在設定檔中指定應使用不同的解析器
- 它必須是可從使用解析器的設定檔載入的 Node 模組。通常,這表示您應該使用 npm 單獨安裝解析器套件。
- 它必須符合解析器介面。
請注意,即使有這些相容性,也不能保證外部解析器能與 ESLint 正確運作。ESLint 不會修復與其他解析器不相容的錯誤。
若要指示要用作解析器的 npm 模組,請在您的 .eslintrc
檔案中使用 parser
選項指定它。例如,以下指定使用 Esprima 而不是 Espree
{
"parser": "esprima",
"rules": {
"semi": "error"
}
}
以下解析器與 ESLint 相容
- Esprima
- @babel/eslint-parser - Babel 解析器的包裝器,使其與 ESLint 相容。
- @typescript-eslint/parser - 將 TypeScript 轉換為 ESTree 相容形式的解析器,因此可以在 ESLint 中使用。
請注意,當使用自訂解析器時,ESLint 仍然需要 parserOptions
設定屬性,才能正確使用預設 ECMAScript 5 中沒有的功能。解析器都會傳遞 parserOptions
,並可能使用或不使用它們來判斷要啟用哪些功能。