ESLint - 简介
ESLint是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。ESLint被设计为完全可配置的,主要有两种方式来配置ESLint:
- 在注释中配置:使用JavaScript注释直接把配置嵌入到JS文件中。
- 配置文件:使用下面任一的文件来为全部的目录和它的子目录指定配置信息。
- javascript:使用
.eslintrc.js
文件并导出一个包含配置的对象。 - YAML:
.eslintrc.yaml
或者.eslintrc.yml
- JSON:
.eslintrc.json
,并且此文件允许使用JS形式的注释 - 废弃的用法:
.eslintrc
,此文件可以是JSON或者YAML - package.json:在
package.json
文件中创建eslintConfig
属性,所有的配置包含在此属性中。
- javascript:使用
这些文件的优先级则是按照以上出现的顺序(.eslintrc.js
>.eslintrc.yaml
>.eslintrc.yml
>.eslintrc.json
>.eslintrc
>package.json
)。
可以被配置的信息主要分为3类:
- Environments:你的 javascript 脚步将要运行在什么环境(如:nodejs,browser,commonjs等)中。
- Globals:执行代码时脚步需要访问的额外全局变量。
- Rules:开启某些规则,也可以设置规则的等级。
安装
全局安装
npm i -g eslint
局部安装(推荐)
npm i -D eslint
安装完毕后,接下来新建一个配置文件.eslintrc.js,或者使用如下的命令行来自动生成。
eslint --init
配置
指定执行环境
JavaScript 代码可以运行在浏览器或 nodejs 等环境中,每个环境的全局变量都不尽相同(如 nodejs 中没有 DOM 相关的全局变量)。在配置文件中可以自由的指定执行环境。
// .eslintrc.js
module.exports = {
env: {
browser: true,
node: true,
},
};
所有的环境可以在官网上查询。
指定全局变量
可以在配置文件或注释中指定额外的全局变量,false
表明变量只读:
注释:
/* global var1, var2 */
/* global var1:false, var2:false */
js 文件:
// .eslintrc.js
module.exports = {
globals: {
var1: true,
var2: true,
},
};