轉自 https://www.cnblogs.com/kunmomo/p/14985987.html
簡介
ESLint 是一款開源的 JavaScript lint 工具,由 Nicholas C. Zakas 於2013 年創建。
借助 ESLint,可將 靜態代碼分析 和 問題代碼協助修復 集成到 編碼、提交 和 打包 過程中,及早發現並協助修復代碼中:
- 有語法錯誤的部分
- 不符合約定的樣式准則的部分
- 不符合約定的最佳實踐的部分
在項目開發中獲得如下收益:
- 在執行代碼之前發現並修復語法錯誤,減少調試耗時和潛在 bug
- 保證項目的編碼風格統一,提高可維護性
- 督促團隊成員在編碼時遵守約定的最佳實踐,提高代碼質量
總結:eslint在編碼、提交、打包過程中幫助我們統一編碼風格並進行代碼錯誤檢查以及修復
安裝
為了在 Node.js 上運行 ESLint,你必須先安裝 npm,一旦安裝了 npm,運行下面的命令
npm i -g eslint
配置
如何來配置eslint呢?
1、可以新建一個.eslintrc.*文件,直接創建或者運行eslint --init
2、在package.json文件中使用 eslintConfig
字段指定配置
ESLint 將自動在要檢測的文件目錄里尋找它們,緊接着是父級目錄,一直到文件系統的根目錄
ESLint 支持幾種格式的配置文件:
- JavaScript - 使用
.eslintrc.js
然后輸出一個配置對象。 - YAML - 使用
.eslintrc.yaml
或.eslintrc.yml
去定義配置的結構。 - JSON - 使用
.eslintrc.json
去定義配置的結構,ESLint 的 JSON 文件允許 JavaScript 風格的注釋。 - (棄用) - 使用
.eslintrc
,可以使 JSON 也可以是 YAML。 - package.json - 在
package.json
里創建一個eslintConfig
屬性,在那里定義你的配置。
如果同一個目錄下有多個配置文件,ESLint 只會使用一個。優先級順序如下:
.eslintrc.js
.eslintrc.yaml
.eslintrc.yml
.eslintrc.json
.eslintrc
package.json
extends字段
可共享的配置 是一個 npm 包(extends中的每一項都是一個npm包),它輸出一個配置對象。要確保這個包安裝在 ESLint 能請求到的目錄下。
我們可以使用eslint官方推薦的,也可以使用一些大公司提供的的,如:aribnb, google, standard。
在開發中我們一般使用第三方的。
plugins
插件 是一個 npm 包,通常輸出規則。一些插件也可以輸出一個或多個命名的 配置。要確保這個包安裝在 ESLint 能請求到的目錄下。
配置定義在插件中的一個規則的時候,你必須使用 插件名/規則ID
的形式。比如(該部分在官方文檔 配置 講rules的部分)
{ "plugins": [ "plugin1" ], "rules": { "eqeqeq": "off", "curly": "error", "quotes": ["error", "double"], "plugin1/rule1": "error" } }
該部分可以看官方文檔:配置
也可以參考:webpack引入eslint詳解(配置項看這個就可以)
命令行
該部分可以看官方文檔:命令行
規則
只有配置了rules或者在extends中擴展了規則,eslint才會開始校驗代碼!!!
extends實際是對rules中規則的擴展,里面的每一個都是npm包
rules中的規則在https://cn.eslint.org/docs/rules/和vue相關的規則https://eslint.vuejs.org/rules/中查找