ESLint自用笔记

137 阅读1分钟

是什么

在 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*/