本文同步自個人博客 https://joeray61.comnode
局部:es6
npm install eslint --save-dev
全局:web
npm install eslint -g
eslint --init
Note: 此處及之後都假設全局安裝
eslint
或者在npm script
中使用eslint
npm
eslint file.js
指定eslint
使用的 parser,默認是Espree
,除此以外經常使用的還有:瀏覽器
Esprima框架
Babel-ESLintcurl
.eslintrc
示例:測試
{ "parser": "esprima" }
指定傳給 parser 的信息url
.eslintrc
示例:插件
{ "parserOptions": { "ecmaVersion": 6, "sourceType": "module", "ecmaFeatures": { "jsx": true } } }
指定程序運行的環境,這關係到有哪些預先定義好的全局變量
browser - 瀏覽器中的全局變量
node - nodejs中的全局變量
es6 - 啓用 es6 中除了模塊以外的其餘特性(這會自動將parserOptions.ecmaVersion
設置爲6
)
worker - web worker中的全局變量
mocha - mocha 測試框架中的全局變量
...
Note: 能夠同時定義多個
env
.eslintrc
示例:
{ "env": { "browser": true, "node": true } }
全局變量申明,true
表示容許改寫,false
表示不容許改寫
.eslintrc
示例:
{ "globals": { "var1": true, "var2": false } }
聲明使用了哪些插件,插件名能夠默認忽略eslint-plugin-
前綴,這些插件能夠用於rules
、env
和extends
等配置中
.eslintrc
示例:
{ "plugins": [ "example" // or "eslint-plugin-example" ], "env": { "example/custom": true }, "extends": [ "eslint:recommended", "plugin:example/recommended" ], "rules": { "example/rule1": "error" } }
繼承一套基礎配置
.eslintrc
示例:
{ "extends": "eslint:recommended" }
具體校驗規則的配置
.eslintrc
示例:
{ "rules": { "no-set-state": "off" } }
能夠參考 http://eslint.org/docs/rules/ 瞭解更多
rule
共享的配置,配置中的信息將會被傳遞給全部要執行的規則(rule)
.eslintrc
示例:
{ "settings": { "sharedData": "Hello" } }
註釋配置是指在js
文件中經過註釋來單獨指定一些校驗信息
/* eslint-env node, mocha */
/* global var1:false, var2:false */
/* eslint eqeqeq: 0, curly: 2 */
"off" or 0: 關閉這條規則
"warn" or 1: 開啓規則,若是校驗有問題則拋出警告
"error" or 2: 開啓規則,若是校驗有問題則拋出錯誤
/* eslint-disable */ alert('foo'); /* eslint-enable */
/* eslint-disable no-alert, no-console */ alert('foo'); console.log('bar'); /* eslint-enable no-alert, no-console */
alert('foo'); // eslint-disable-line
// eslint-disable-next-line alert('foo');
alert('foo'); // eslint-disable-line no-alert
// eslint-disable-next-line no-alert alert('foo');