本文同步自个人博客 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');