通過文件配置ESLint

簡介

ESLint 是一個代碼書寫規(guī)范檢查工具销睁,通過很多規(guī)則檢查來規(guī)范代碼的書寫風(fēng)格粒梦,也可以找出一些錯誤土童。ESLint 文檔里列出了規(guī)則說明唯袄,規(guī)則詳細說明里也有示例弯屈。上述網(wǎng)站里也有用戶指南、中文版本恋拷。
有很多 ESLint 的 config 實踐可能比直接用 ESLint 更適合自己资厉,我用的就是 airbnb 的。

使用

項目里安裝

npm install eslint

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

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

然后就可以在命令行里使用以下命令來對文件或文件夾進行 ESLint 檢查了宴偿。

npm run lint 文件/文件夾

如果要用別的 config 實踐的要按照可以看它們自己的安裝說明進行額外的安裝。

配置文件

在項目目錄里添加 .eslintrc.* 文件诀豁,ESLint 會自動讀取它窄刘。
文件格式:

  • .eslintrc.json
  • .eslintrc.js: javascript 格式的配置信息,通過 exports 一個對象來配置
  • .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è)置讓 extends 里部分規(guī)則不啟用。rule 的使用要謹慎遇汞。
像在 airbnb 里面啟用了分號檢查未妹,即必須使用分號簿废,而我不想使用分號,配置如下:

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

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

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

plugins

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

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

globals

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

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

參考:
ESLint 中文

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兆览,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塞关,更是在濱河造成了極大的恐慌抬探,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帆赢,死亡現(xiàn)場離奇詭異小压,居然都是意外死亡,警方通過查閱死者的電腦和手機椰于,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門怠益,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瘾婿,你說我怎么就攤上這事蜻牢。” “怎么了偏陪?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵抢呆,是天一觀的道長。 經(jīng)常有香客問我笛谦,道長抱虐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任饥脑,我火速辦了婚禮恳邀,結(jié)果婚禮上懦冰,老公的妹妹穿的比我還像新娘。我一直安慰自己谣沸,他們只是感情好刷钢,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著乳附,像睡著了一般内地。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上许溅,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天瓤鼻,我揣著相機與錄音秉版,去河邊找鬼贤重。 笑死,一個胖子當(dāng)著我的面吹牛清焕,可吹牛的內(nèi)容都是我干的并蝗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼秸妥,長吁一口氣:“原來是場噩夢啊……” “哼滚停!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起粥惧,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤键畴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后突雪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體起惕,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年咏删,在試婚紗的時候發(fā)現(xiàn)自己被綠了惹想。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡督函,死狀恐怖嘀粱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辰狡,我是刑警寧澤锋叨,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站宛篇,受9級特大地震影響悲柱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜些己,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一豌鸡、第九天 我趴在偏房一處隱蔽的房頂上張望嘿般。 院中可真熱鬧,春花似錦涯冠、人聲如沸炉奴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞻赶。三九已至,卻和暖如春派任,著一層夾襖步出監(jiān)牢的瞬間砸逊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工掌逛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留师逸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓豆混,卻偏偏與公主長得像篓像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子皿伺,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ESLint 配置 ESlint 被設(shè)計為完全可配置的员辩,這意味著你可以關(guān)閉每一個規(guī)則而只運行基本語法驗證,或混合和...
    靜默虛空閱讀 41,307評論 3 14
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理鸵鸥,服務(wù)發(fā)現(xiàn)奠滑,斷路器,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • EsLint入門學(xué)習(xí)整理 這兩天因為公司要求妒穴,就對ESLint進行了初步的了解宋税,網(wǎng)上的內(nèi)容基本上都差不多,但是內(nèi)容...
    點柈閱讀 26,027評論 3 42
  • 兩個月之前在項目中就開始使用 Eslint 宰翅,當(dāng)時直接 copy 別人的 .eslintrc.js 文件弃甥,感覺好復(fù)...
    dkvirus閱讀 111,966評論 33 190
  • ESLint最初是由Nicholas C. Zakas 于2013年6月創(chuàng)建的開源項目。它的目標是提供一個插件化的...
    gavinDu閱讀 1,801評論 1 1