# 安装依赖,需要node版本大于4.0,npm版本大于2.0
npm install eslint --save-dev
# 初始化配置文件
./node_modules/.bin/eslint --init
# 分析JS代码
./node_modules/.bin/eslint yourfile.js
.eslintrc.*
文件,也可以写在package.json
文件内的eslintConfig
域下面~/
下的eslint -c myconfig.json myfiletotest.js
配置信息大致分为以下几种:
Set
).{ "parserOptions": { "ecmaVersion": 6 } }
;
若要支持 ES6 的全局变量: { "env": { "es6": true } }
,使用这个会自动支持 ES6 的语法详细配置如下:
script
(默认)或者 module
例子
{
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"rules": {
"semi": 2
}
}
ESLint 支持一下几种解析器
运行环境的信息,每个环境将会自带一些默认的全局变量信息,支持配置以下环境:
以上环境不是互斥的,可以一次指定多个.环境信息不仅可以在配置文件中指定,也可以在代码文件中指定
/* eslint-env node, mocha */
// 上面的注释表示此文件支持Node.js和Mocha两个环境
环境信息的配置示例
{
"env": {
"browser": true,
"node": true
}
}
检查规则Undeclared Variables(no-undef)
会警告使用未声明的变量,指定全局变量可以使得它们通过这个检查,
全局变量也可以在文件头中指定
/* global var1, var2 */
/* global var1:false, var2:false */
使用true
或false
表示是否支持这个全局变量,配置示例:
{
"globals": {
"var1": true,
"var2": false
}
}
ESLint 支持使用第三方插件,前提是其已经使用 npm 安装在本地.
通过字段plugins
可以声明所有的插件,插件名字中的eslint-plugin-
可以省略.
配置示例:
{
"plugins": ["plugin1", "eslint-plugin-plugin2"]
}
ESLint 支持许多的检查规则,每种规则都有三种报错等级:
off
或0
- 不使用此规则warn
或1
- 警告error
或2
- 报错(返回错误码1
)若一个规则有一个额外的配置选项,则可以使用一个数组来配置它, 配置示例:
{
"rules": {
"eqeqeq": "off",
"curly": "error",
"quotes": ["error", "double"]
}
}
一个配置文件能扩展自其他的基本配置文件,字段extends
可以包含一个字符串或字符串数组.
rules
字段可以更改或者覆盖基本配置文件中的规则
派生的 rule 配置会改变基本配置中的报错等级,但会继承其他可选配置
"eqeqeq": ["error", "allow-null"]
"eqeqeq": "warn"
"eqeqeq": ["warn", "allow-null"]
派生的 rule 配置可以覆盖可选配置
"quotes": ["error", "single", "avoid-escape"]
Derived config: "quotes": ["error", "single"]
"quotes": ["error", "single"]