通過文件配置ESLint

簡介

ESLint 是一個(gè)代碼書寫規(guī)范檢查工具,通過很多規(guī)則檢查來規(guī)范代碼的書寫風(fēng)格,也可以找出一些錯(cuò)誤。ESLint 文檔里列出了規(guī)則說明,規(guī)則詳細(xì)說明里也有示例。上述網(wǎng)站里也有用戶指南、中文版本。
有很多 ESLint 的 config 實(shí)踐可能比直接用 ESLint 更適合自己,我用的就是 airbnb 的。

使用

項(xiàng)目里安裝

npm install eslint

為了使用方便,在 package.json 里的 scripts 里添加

"lint": "./node_modules/.bin/eslint"

然后就可以在命令行里使用以下命令來對文件或文件夾進(jìn)行 ESLint 檢查了。

npm run lint 文件/文件夾

如果要用別的 config 實(shí)踐的要按照可以看它們自己的安裝說明進(jìn)行額外的安裝。

配置文件

在項(xiàng)目目錄里添加 .eslintrc.* 文件,ESLint 會(huì)自動(dòng)讀取它。
文件格式:

  • .eslintrc.json
  • .eslintrc.js: javascript 格式的配置信息,通過 exports 一個(gè)對象來配置
  • .eslintrc.yml
  • .eslintrc.yaml
  • .eslintrc: yml 或 json 格式

也可以在 package.json 里添加 eslintConfig 來寫入配置信息。

配置信息

extends

繼承已啟用的規(guī)則配置,一般使用:

{
  "extends": "eslint:recommended"
}

這里配置的規(guī)則是 ESLint 文檔里打勾的規(guī)則。
我用的 eslint-config-airbnb 是:

{
  "extends": "airbnb"
}

env

配置啟用環(huán)境,要啟用的環(huán)境寫在這里,并設(shè)置為 true ,如:

{
  "env": {
    "browser": true,
    "node": true
  }
}

rule

在 extends 里指定了設(shè)定好要啟用的規(guī)則,但是很多時(shí)候有部分不一樣,在這里可以設(shè)置讓 extends 里部分規(guī)則不啟用。rule 的使用要謹(jǐn)慎。
像在 airbnb 里面啟用了分號(hào)檢查,即必須使用分號(hào),而我不想使用分號(hào),配置如下:

{
  "extends": "airbnb",
  "rule": {
    "semi": “off"
  }
}

這里的 semi 就是分號(hào)檢查規(guī)則。
eslint 里很多規(guī)則記不住誰是誰的話,在用 eslint 檢查后它告訴你違背了哪些規(guī)則,然后在文檔里查這些規(guī)則就可以知道規(guī)則具體說明,然后就可以選擇是否使用它。規(guī)則值:

  • "off" 或 0 - 關(guān)閉規(guī)則
  • "warn" 或 1 - 開啟規(guī)則,使用警告級(jí)別的錯(cuò)誤:warn (不會(huì)導(dǎo)致程序退出)
  • "error" 或 2 - 開啟規(guī)則,使用錯(cuò)誤級(jí)別的錯(cuò)誤:error (當(dāng)被觸發(fā)的時(shí)候,程序會(huì)退出)

plugins

第三方插件配置,使用前要 npm 安裝它。
插件名稱可以省略 eslint-plugin- 前綴。

{
  "plugins": [
    "plugin1",
    "eslint-plugin-plugin2"
    ]
}

globals

很多默認(rèn)開啟規(guī)則的 config 都不允許使用全局變量,它們被認(rèn)為是未定義的變量,由 no-undef 規(guī)則來發(fā)出警告。所以如果要使用全局變量的話,推薦做法是在配置文件里的 globals 里聲明它(等于 true 允許變量被重寫,false 不允許變量被重寫):

{
  "globals": {
    "globalsVar1": true,
    "globalsVar2": false
  }
}

參考:
ESLint 中文

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ESLint 配置 ESlint 被設(shè)計(jì)為完全可配置的,這意味著你可以關(guān)閉每一個(gè)規(guī)則而只運(yùn)行基本語法驗(yàn)證,或混合和...
    靜默虛空閱讀 41,849評(píng)論 3 14
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評(píng)論 19 139
  • EsLint入門學(xué)習(xí)整理 這兩天因?yàn)楣疽螅蛯SLint進(jìn)行了初步的了解,網(wǎng)上的內(nèi)容基本上都差不多,但是內(nèi)容...
    點(diǎn)柈閱讀 26,228評(píng)論 3 42
  • 兩個(gè)月之前在項(xiàng)目中就開始使用 Eslint ,當(dāng)時(shí)直接 copy 別人的 .eslintrc.js 文件,感覺好復(fù)...
    dkvirus閱讀 112,553評(píng)論 33 190
  • ESLint最初是由Nicholas C. Zakas 于2013年6月創(chuàng)建的開源項(xiàng)目。它的目標(biāo)是提供一個(gè)插件化的...
    gavinDu閱讀 1,974評(píng)論 1 1

友情鏈接更多精彩內(nèi)容