ESLint 由 JavaScript 紅寶書 作者 Nicholas C. Zakas 編寫, 2013 年釋出第一個版本。 NCZ 的初衷不是重複造一個輪子,而是在實際需求得不到 JSHint 團隊響應 的情況下做出的選擇:以可擴充套件、每條規則獨立、不內建編碼風格為理念編寫一個 lint 工具。
ESLint 主要有以下特點:
預設規則包含所有 JSLint、JSHint 中存在的規則,易遷移;
規則可配置性高:可設定「警告」、「錯誤」兩個 error 等級,或者直接禁用;
包含程式碼風格檢測的規則(可以丟掉 JSCS 了);
支援外掛擴充套件、自定義規則。
ESLint 已經 宣佈支援 JSX ,不過目前為 alpha 版本,正式版釋出之前可以先使用eslint-plugin-react 替代。
使用 ESLint
ESLint 詳盡使用參見 官方文件 ,下面羅列的是由 JSHint 遷移到 ESLint 的一些要點。
配置
可以透過以下三種方式配置 ESLint:
使用 .eslintrc 檔案(支援 JSON 和 YAML 兩種語法);
在 package.json 中新增 eslintConfig 配置塊;
直接在程式碼檔案中定義。
.eslintrc 檔案示例:
{
"env": {
"browser": true,
},
"globals": {
"angular": true,
"rules": {
"camelcase": 2,
"curly": 2,
"brace-style": [2, "1tbs"],
"quotes": [2, "single"],
"semi": [2, "always"],
"space-in-brackets": [2, "never"],
"space-infix-ops": 2,
}
.eslintrc 放在專案根目錄,則會應用到整個專案;如果子目錄中也包含.eslintrc 檔案,則子目錄會忽略根目錄的配置檔案,應用該目錄中的配置檔案。這樣可以方便地對不同環境的程式碼應用不同的規則。
ESLint 由 JavaScript 紅寶書 作者 Nicholas C. Zakas 編寫, 2013 年釋出第一個版本。 NCZ 的初衷不是重複造一個輪子,而是在實際需求得不到 JSHint 團隊響應 的情況下做出的選擇:以可擴充套件、每條規則獨立、不內建編碼風格為理念編寫一個 lint 工具。
ESLint 主要有以下特點:
預設規則包含所有 JSLint、JSHint 中存在的規則,易遷移;
規則可配置性高:可設定「警告」、「錯誤」兩個 error 等級,或者直接禁用;
包含程式碼風格檢測的規則(可以丟掉 JSCS 了);
支援外掛擴充套件、自定義規則。
ESLint 已經 宣佈支援 JSX ,不過目前為 alpha 版本,正式版釋出之前可以先使用eslint-plugin-react 替代。
使用 ESLint
ESLint 詳盡使用參見 官方文件 ,下面羅列的是由 JSHint 遷移到 ESLint 的一些要點。
配置
可以透過以下三種方式配置 ESLint:
使用 .eslintrc 檔案(支援 JSON 和 YAML 兩種語法);
在 package.json 中新增 eslintConfig 配置塊;
直接在程式碼檔案中定義。
.eslintrc 檔案示例:
{
"env": {
"browser": true,
},
"globals": {
"angular": true,
},
"rules": {
"camelcase": 2,
"curly": 2,
"brace-style": [2, "1tbs"],
"quotes": [2, "single"],
"semi": [2, "always"],
"space-in-brackets": [2, "never"],
"space-infix-ops": 2,
}
}
.eslintrc 放在專案根目錄,則會應用到整個專案;如果子目錄中也包含.eslintrc 檔案,則子目錄會忽略根目錄的配置檔案,應用該目錄中的配置檔案。這樣可以方便地對不同環境的程式碼應用不同的規則。