ESLint是一个用来识别 ECMAScript 而且按照规则给出报告的代码检测工具,使用它能够避免低级错误和统一代码的风格。ESLint被设计为彻底可配置的,主要有两种方式来配置ESLint:javascript
.eslintrc.js
文件并导出一个包含配置的对象。.eslintrc.yaml
或者.eslintrc.yml
.eslintrc.json
,而且此文件容许使用JS形式的注释.eslintrc
,此文件能够是JSON或者YAMLpackage.json
文件中建立eslintConfig
属性,全部的配置包含在此属性中。这些文件的优先级则是按照以上出现的顺序(.eslintrc.js
> .eslintrc.yaml
> .eslintrc.yml
> .eslintrc.json
> .eslintrc
> package.json
)。java
能够被配置的信息主要分为3类:node
npm i -g eslint
npm i -D eslint
安装完毕后,接下来新建一个配置文件.eslintrc.js
,或者使用以下的命令行来自动生成。webpack
eslint --init
JavaScript 代码能够运行在浏览器或 nodejs 等环境中,每一个环境的全局变量都不尽相同(如 nodejs 中没有 DOM 相关的全局变量)。在配置文件中能够自由的指定执行环境。web
// .eslintrc.js module.exports = { env: { browser: true, node: true, }, };
全部的环境能够在官网上查询。npm
能够在配置文件或注释中指定额外的全局变量,false
代表变量只读:json
/* global var1, var2 */ /* global var1:false, var2:false */
// .eslintrc.js module.exports = { globals: { var1: true, var2: true, }, };
在配置文件中能够设置一些规则。浏览器
这些规则的等级有三种:curl
例如:编辑器
// .eslintrc.js module.exports = { rules: { eqeqeq: 'off', curly: 'error', }, };
/* eslint eqeqeq: "off", curly: "error" */ /* eslint eqeqeq: 0, curly: 2 */
也能够在注释中关闭全部或者某个规则:
/* eslint-disable */ /* eslint-enable */ /* eslint-disable no-alert, no-console */ /* eslint-enable no-alert, no-console */
具体的规则能够在官网上找到,或者使用别人写好的配置,例如eslint-config-airbnb。
经过命令行工具来使用 eslint 。
eslint [options] file.js [file.js] [dir]
除了使用命令行还能够配合 webpack 或者配合编辑器的插件(如vscode-eslint)来使用