ESLint是一個用來識別 ECMAScript 並且按照規則給出報告的代碼檢測工具,使用它可以避免低級錯誤和統一代碼的風格。如果每次在代碼提交之前都進行一次eslint代碼檢查,就不會因為某個字段未定義為undefined或null這樣的錯誤而導致服務崩潰,可以有效的控制項目代碼的質量。
在許多方面,它和 JSLint、JSHint 相似,除了少數的例外:
- ESLint 使用 Espree 解析 JavaScript。
- ESLint 使用 AST 去分析代碼中的模式。
- ESLint 是完全插件化的。每一個規則都是一個插件並且你可以在運行時添加更多的規則。
此外,也可以應用於nodejs中進行語法掃描,常用功能
- 檢查語法錯誤
- 檢查語法風格
- 修正語法
安裝
ESLint 支持多種安裝方式,可以通過 npm 來安裝,也可以在 webpack(eslint-loader) 和 Gulp.js(gulp-eslint) 中使用。
全局安裝
npm i -g eslint
可選配置,讓eslint忽略檢測的文件 .eslintignore 配置規則與 .gitignore 一樣
#井號是注釋 根據自己的項目需要進行忽略
# 如果 .eslintrc 開啟了 env nodejs 那么 默認 node_modules是自動忽略的
node_modules
/node_modules/**
*.sh
game-server/web-server
game-server/web-server/**
tools
tools/**
test
test/**
game-server/purchase-server/lib/seedrandom.js
game-server/app/staticData/data/temp/*.js
————————————————
Globals - 腳本在執行期間訪問的額外的全局變量
當訪問未定義的變量時,no-undef 規則將發出警告。如果你想在一個文件里使用全局變量,你可以定義這些全局變量,這樣 ESLint 就不會發出警告了
例如:定義了var1 和 var2為兩個全局變量,如果你想指定這些變量不應被重寫(只讀),你可以將它們設置為 false:
-
"globals": {
-
"var1": true,
-
"var2": false
-
}
