版本

核心概念

本頁包含 ESLint 一些核心概念的高階概述。

什麼是 ESLint?

ESLint 是一個可設定的 JavaScript 程式碼檢查工具。它可以幫助您尋找和修復 JavaScript 程式碼中的問題。問題可以是潛在的執行階段錯誤、不遵循最佳實務,或樣式問題。

規則

規則是 ESLint 的核心建構區塊。規則會驗證您的程式碼是否符合特定期望,以及如果不符合該期望該怎麼做。規則也可以包含特定於該規則的其他設定選項。

例如,semi 規則可讓您指定 JavaScript 陳述式是否應以分號 (;) 結尾。您可以將規則設定為一律要求分號,或要求陳述式永不以分號結尾。

ESLint 包含數百個內建規則,您可以隨意使用。您也可以建立自訂規則,或使用其他人使用外掛程式建立的規則。

如需更多資訊,請參閱規則

規則修正

規則可以選擇性地為它們發現的違規行為提供修正。修正會安全地更正違規行為,而不會變更應用程式邏輯。

可以使用--fix 命令列選項和透過編輯器擴充功能自動套用修正。

可能會提供修正的規則在規則中標記為 🔧。

規則建議

規則可以選擇性地提供建議,而不是或除了提供修正之外。建議與修正在兩個方面有所不同

  1. 建議可能會變更應用程式邏輯,因此無法自動套用。
  2. 建議無法透過 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/parsertypescript-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

變更語言