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)來使用