核心概念
本頁包含 ESLint 一些核心概念的高階概述。
什麼是 ESLint?
ESLint 是一個可設定的 JavaScript 程式碼檢查工具。它可以幫助您在 JavaScript 程式碼中找到並修正問題。問題範圍可以從潛在的執行時期錯誤、未遵循最佳實務,到樣式問題。
規則
規則是 ESLint 的核心建構區塊。規則會驗證您的程式碼是否符合特定期望,以及在不符合期望時該怎麼做。規則也可以包含特定於該規則的其他設定選項。
例如,semi
規則可讓您指定 JavaScript 陳述式是否應以分號 (;
) 結尾。您可以將規則設定為始終要求分號,或要求陳述式永遠不以分號結尾。
ESLint 包含數百個您可以使用的內建規則。您也可以建立自訂規則,或使用其他人透過 外掛程式 建立的規則。
如需更多資訊,請參閱 規則。
規則修正
規則可以選擇性地為它們發現的違規行為提供修正。修正會安全地更正違規行為,而不會變更應用程式邏輯。
修正可以透過 --fix
命令列選項 和編輯器擴充功能自動套用。
可能會提供修正的規則在 規則 中標記為 🔧。
規則建議
規則可以選擇性地提供建議,除了提供修正之外,或取代提供修正。建議與修正有兩個不同之處
- 建議可能會變更應用程式邏輯,因此無法自動套用。
- 建議無法透過 ESLint CLI 套用,僅能透過編輯器整合取得。
可能會提供建議的規則在 規則 中標記為 💡。
設定檔
ESLint 設定檔是您在專案中放置 ESLint 設定的地方。您可以包含內建規則、您希望如何強制執行它們、具有自訂規則的外掛程式、可分享的設定、您希望規則套用至哪些檔案等等。
如需更多資訊,請參閱 設定檔。
可分享的設定
可分享的設定是透過 npm 分享的 ESLint 設定。
可分享的設定通常用於使用 ESLint 的內建規則來強制執行樣式指南。例如,可分享的設定 eslint-config-airbnb-base 實作了流行的 Airbnb JavaScript 樣式指南。
如需更多資訊,請參閱 使用可分享的設定套件。
外掛程式
ESLint 外掛程式是一個 npm 模組,可以包含一組 ESLint 規則、設定、處理器和語言。外掛程式通常包含自訂規則。外掛程式可用於強制執行樣式指南,並支援 JavaScript 擴充功能 (例如 TypeScript)、程式庫 (例如 React) 和框架 (Angular)。
外掛程式的一個常見用例是為框架強制執行最佳實務。例如,@angular-eslint/eslint-plugin 包含使用 Angular 框架的最佳實務。
如需更多資訊,請參閱 設定外掛程式。
解析器
ESLint 解析器將程式碼轉換為 ESLint 可以評估的抽象語法樹狀結構。預設情況下,ESLint 使用內建的 Espree 解析器,它與標準 JavaScript 執行階段和版本相容。
自訂解析器讓 ESLint 可以解析非標準 JavaScript 語法。自訂解析器通常包含在可分享的設定或外掛程式中,因此您不必直接使用它們。
例如,@typescript-eslint/parser 是 typescript-eslint 專案中包含的自訂解析器,可讓 ESLint 解析 TypeScript 程式碼。
自訂處理器
ESLint 處理器從其他類型的檔案中提取 JavaScript 程式碼,然後讓 ESLint 檢查 JavaScript 程式碼。或者,您可以使用處理器在使用 ESLint 解析 JavaScript 程式碼之前先對其進行操作。
例如,@eslint/markdown 包含一個自訂處理器,可讓您檢查 Markdown 程式碼區塊內的 JavaScript 程式碼。
格式器
ESLint 格式器控制 CLI 中程式碼檢查結果的外觀。
如需更多資訊,請參閱 格式器。
整合
使 ESLint 成為如此有用的工具之一是圍繞它的整合生態系統。例如,許多程式碼編輯器都有 ESLint 擴充功能,可在您工作時在檔案中顯示程式碼的 ESLint 結果,因此您無需使用 ESLint CLI 即可查看程式碼檢查結果。
如需更多資訊,請參閱 整合。
CLI & Node.js API
ESLint CLI 是一個命令列介面,可讓您從終端機執行程式碼檢查。CLI 有各種選項,您可以將其傳遞給其命令。
ESLint Node.js API 可讓您從 Node.js 程式碼以程式設計方式使用 ESLint。API 在開發外掛程式、整合和其他與 ESLint 相關的工具時非常有用。
除非您以某種方式擴充 ESLint,否則您應該使用 CLI。
如需更多資訊,請參閱 命令列介面 和 Node.js API。