設定解析器 (已棄用)
您可以使用自訂解析器將 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 中使用。
請注意,當使用自訂解析器時,parserOptions
設定屬性仍然是必需的,以便 ESLint 可以正確地處理預設不在 ECMAScript 5 中的功能。所有解析器都會傳遞 parserOptions
,並且可能會或可能不會使用它們來決定要啟用哪些功能。