是什么
在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具(插件)
实现基础
基于解析器Espree和抽象语法树(AST)解析js代码
配置
安装和基础配置
安装
$ npm install eslint --save-dev
or
$ npm install eslint --global // 全局安装
设置配置文件
$ ./node_modules/.bin/eslint --init
运行
$ ./node_modules/.bin/eslint fileName.js
配置文件
.eslintrc.xxx(js/json/yaml) 或者package.json的eslintConfig字段
常用配置字段
Environments: 指定脚本的运行环境。每种环境都有一组特定的预定义全局变量。
Globals: 脚本在执行期间访问的额外的全局变量。
Rules: 启用的规则及其各自的错误级别
- "off" 或 0 - 关闭规则
- "warn" 或 1 - 开启规则,级别:warn (不会导致程序退出)
- "error" 或 2 - 开启规则,级别:error (触发的时程序退出)
配置支持
指定的js语言(ES6/ES5/...): parserOptions
指定的环境:env 一个环境定义了一组预定义的全局变量
指定第三方插件:plugins
禁用一组文件的配置文件的规则:overrides
共享配置:settings
指定根目录层级:root
快速用注释配置规则
在文件顶部添加注释,本文件内禁用eslint警告
/* eslint-disable */
对指定的规则禁用
/* eslint-disable no-alert, no-console */
启用eslint警告/启用某个规则的警告
/* eslint-enable */
/* eslint-enable no-alert, no-console */
在某一行启用或禁用规则(支持块注释和行注释)
/* eslint-disable-next-line */
alert('foo');
alert('foo'); /* eslint-disable-line no-alert, quotes, semi*/