摘要:因?yàn)槲覀兪褂玫氖侨值陌惭b包。它對(duì)于要求最嚴(yán)格,比如禁止使用定義變量,必須使用或者等等。注意,還是全局化安裝。把以下代碼放入,就做好了你的全局配置文件。另外,我缺省會(huì)大量使用,不想讓它總是報(bào)告什么這個(gè)變量未定義等錯(cuò)誤。
ESLint是一個(gè)Javascript靜態(tài)檢查工具,它可以幫你養(yǎng)成良好的編程習(xí)慣,使你的javascript代碼達(dá)到國(guó)際化的水準(zhǔn)。ESLint是所有Javascrpt靜態(tài)檢查工具里最晚誕生的一個(gè),之前還曾經(jīng)有過(guò)JSLint以及JSHint等工具,但JSLint和JSHint都是用的一套標(biāo)準(zhǔn),在目前這個(gè)前端技術(shù)飛速發(fā)展的時(shí)代已經(jīng)顯得有點(diǎn)落伍。ESLint的好處是既提供了國(guó)際大廠的標(biāo)準(zhǔn),同時(shí)又給了你自定義標(biāo)準(zhǔn)的可能性。ESLint的推薦設(shè)置方式是按項(xiàng)目設(shè)置,但是如果我們有很多個(gè)不同的javascript項(xiàng)目的話,一個(gè)一個(gè)去設(shè)置未免太麻煩,所以在這里介紹的是全局設(shè)置方法,一次設(shè)置,所有項(xiàng)目全部采用同一標(biāo)準(zhǔn)。
首先,在atom中安裝linter插件和linter-eslint插件。安裝完成之后,linter-eslint的缺省設(shè)置有2個(gè)地方需要修改:
把Disable when no ESLint config is found的對(duì)鉤去掉。這個(gè)選項(xiàng)的意思是說(shuō):如果你的javascript項(xiàng)目文件夾中沒(méi)有.eslintrc這樣的配置文件的話,那么ESLint就不起作用。在這里,我們要設(shè)置為全局lint,不需要在每個(gè)javascript文件夾中包含.eslintrc文件,所以要把它去掉,否則由于我們的項(xiàng)目文件夾中沒(méi)有.eslintrc文件,ESLint會(huì)不起作用。
把Use global ESLint installation的對(duì)鉤勾上。因?yàn)槲覀兪褂玫氖侨值腅SLint安裝包。
下面,開(kāi)始安裝ESLint:
npm install eslint -g
ESLint是通過(guò)npm安裝的,這里的-g選項(xiàng)代表全局,也就是說(shuō)它不會(huì)把ESLint的可執(zhí)行文件安裝在你的項(xiàng)目文件夾或者說(shuō)當(dāng)前文件夾下。如果你沒(méi)有設(shè)置這個(gè)-g選項(xiàng)的話,它會(huì)在你當(dāng)前文件夾下安裝ESLint可執(zhí)行文件,那樣就不是全局安裝了。后面我們所有安裝包都要用使用這個(gè)-g選項(xiàng)
eslint -v
安裝完成之后,你可以先執(zhí)行一下eslint -v這個(gè)命令來(lái)看一下eslint是否已經(jīng)安裝成功了,如果沒(méi)有的話,你需要反復(fù)檢查,直到確保eslint安裝已經(jīng)成功為止。
關(guān)于eslint --init可以不必執(zhí)行,它主要的作用是在你當(dāng)前文件夾下生成.eslintrc文件,但同時(shí)也會(huì)把eslint在你當(dāng)前文件夾下重新安裝一遍,并且如果你使用包的話,它還會(huì)要求必須要有package.json文件,總之會(huì)很麻煩。但如果你是第一次使用的話,我建議你可以執(zhí)行一下試試,它主要提供3種預(yù)安裝包:Google標(biāo)準(zhǔn)、Airbnb標(biāo)準(zhǔn)和Standard標(biāo)準(zhǔn)。這3個(gè)標(biāo)準(zhǔn)里,Google就是Google公司的標(biāo)準(zhǔn),Airbnb是Airbnb公司的標(biāo)準(zhǔn),Standard就是一些前端工程師自定的標(biāo)準(zhǔn)。目前來(lái)看,公認(rèn)的最好的標(biāo)準(zhǔn)是Airbnb標(biāo)準(zhǔn)(互聯(lián)網(wǎng)發(fā)展日新月異,永遠(yuǎn)是年輕人顛覆老年人,連Google都老了)。它對(duì)于ES6要求最嚴(yán)格,比如禁止使用var定義變量,必須使用let或者const等等。既然采用最新標(biāo)準(zhǔn),當(dāng)然就讓你的代碼一次性向最高標(biāo)準(zhǔn)看齊,省得以后麻煩。
npm install eslint-config-airbnb -g
精彩的重頭戲來(lái)了:看到漂亮的airbnb了嗎?我們就里就是要安裝Airbnb的標(biāo)準(zhǔn)了。注意-g,還是全局化安裝。
npm install eslint-plugin-jsx-a11y -g
a11y是accessibility(無(wú)障礙環(huán)境)的縮寫(xiě),從第一個(gè)字母a到最后一個(gè)字母y,中間一共是11個(gè)字母,所以就叫a11y了,類(lèi)似于i18n表示internationalization(國(guó)際化)一樣。JSX主要是React會(huì)用到,雖然我們的項(xiàng)目里可能并不會(huì)用React,但是這個(gè)Airbnb標(biāo)準(zhǔn)必須要用到它,所以必須安裝。
npm install eslint-plugin-import -g
同上,Airbnb標(biāo)準(zhǔn)必需。
最后,編寫(xiě)我們自己的全局.eslintrc文件:
vi ~/.eslintrc.json
前面講過(guò)了,為項(xiàng)目服務(wù)的.eslintrc.json文件是放在項(xiàng)目文件夾下的,全局的.eslintrc.json文件則放在當(dāng)前用戶的根目錄下,類(lèi)Unix系統(tǒng)的當(dāng)前用戶目錄是~,而Windows系統(tǒng)的話則是類(lèi)似于C:WindowsUsersUsername這樣的地方。
把以下代碼放入.eslintrc.json,就做好了你的全局ESLint配置文件。
{ "extends": "airbnb", "installedESLint": true, "plugins": [ "react" ] }
在atom中打開(kāi)你的某一個(gè)js文件,隨便改幾個(gè)字符看看效果吧,不出所料的話,應(yīng)該會(huì)出現(xiàn)一堆紅色的錯(cuò)誤。如果沒(méi)有出現(xiàn),不是你的代碼沒(méi)有問(wèn)題,而是你沒(méi)有安裝對(duì)。
Airbnb的缺省標(biāo)準(zhǔn)是每行的縮進(jìn)字符是2個(gè)空格鍵,而我一般喜歡使用4個(gè)空格鍵作縮進(jìn),所以這里需要一點(diǎn)小小的定制。另外,我缺省會(huì)大量使用jQuery,不想讓它總是報(bào)告什么jQuery這個(gè)變量未定義等錯(cuò)誤。所以增加了幾行,最終的.eslintrc.json如下:
{ "extends": "airbnb", "installedESLint": true, "plugins": [ "react" ], "env": { "jquery": true }, "rules": { "indent": ["error", 4] } }
這樣你在任何項(xiàng)目中的js文件都會(huì)按照這同一套標(biāo)準(zhǔn)去檢查。好了,現(xiàn)在可以開(kāi)始改你的代碼了,解決那一大堆紅叉子吧,我相信一定不少。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/80026.html
摘要:是一種用于識(shí)別代碼格式錯(cuò)誤的工具,目的是使代碼更加規(guī)范和一致并避免錯(cuò)誤。但是它本身并沒(méi)有代碼檢查的功能,需要借助這樣的特定語(yǔ)言檢查支持。安裝以后修改配置文件。 問(wèn)題描述 使用vue-cli來(lái)構(gòu)建Vuejs應(yīng)用的項(xiàng)目中默認(rèn)安裝了eslint-loader模塊,eslint-loader模塊是目前相對(duì)比較流行的代碼檢測(cè)工具,可以檢測(cè)書(shū)寫(xiě)的代碼是否符合統(tǒng)一規(guī)范,可以在一些比較大型的項(xiàng)目開(kāi)發(fā)中...
摘要:此擴(kuò)展使用安裝在已打開(kāi)的工作區(qū)文件夾內(nèi)的庫(kù)。此擴(kuò)展由開(kāi)發(fā),是一個(gè)與之間的調(diào)試適配器。它具有零依賴(lài)性,并可以極大程度地工作于任何規(guī)模的項(xiàng)目里。查看先前文件的拷貝或者將其與工作區(qū)版本或先前版本進(jìn)行比較,查看編輯器里對(duì)活動(dòng)行的更改。 showImg(https://segmentfault.com/img/remote/1460000018002818?w=1223&h=630); 嗨 工匠...
摘要:開(kāi)發(fā)者的終極配置原文作者原文鏈接根據(jù)多年以來(lái)不斷完善配置的經(jīng)驗(yàn),決定這次給也來(lái)一個(gè)大改造。快捷鍵幫助開(kāi)發(fā)人員在不同的編輯器之間保持一致的編碼風(fēng)格。一組專(zhuān)注,用于優(yōu)化現(xiàn)代開(kāi)發(fā)生產(chǎn)力的命令集,目標(biāo)是符合推薦的代碼規(guī)范。 JS/React 開(kāi)發(fā)者的 Atom 終極配置 原文作者:Elad Ossadon 原文鏈接:The Ultimate Atom Editor Setup (+for J...
摘要:地址點(diǎn)個(gè),給我們一點(diǎn)動(dòng)力中文文檔地址交流地址點(diǎn)個(gè),謝謝這套費(fèi)了幾個(gè)月時(shí)間和很多心血,現(xiàn)在已經(jīng)趨于完善,你完全可以在你的生產(chǎn)環(huán)境中試著使用。 介紹 構(gòu)建自己的UI庫(kù),你必須要對(duì)一款打包工具熟悉(webpack, gulp或者grunt), 本文以webpack為例。 github 地址: https://github.com/reming0227... (點(diǎn)個(gè) star,給我們一點(diǎn)動(dòng)力 ...
摘要:原文鏈接命名規(guī)范標(biāo)準(zhǔn)變量采用駝峰式命名在變量名中全大寫(xiě)常量全大寫(xiě),用下劃線連接構(gòu)造函數(shù),大寫(xiě)第一個(gè)字母對(duì)象必須以開(kāi)頭命名局部變量命名規(guī)范表示字符串。可執(zhí)行不可執(zhí)行判斷是否含有某個(gè)值,函數(shù)返回一個(gè)布爾值。 原文鏈接 命名規(guī)范 標(biāo)準(zhǔn)變量采用駝峰式命名 ‘ID’在變量名中全大寫(xiě) 常量全大寫(xiě),用下劃線連接構(gòu)造函數(shù),大寫(xiě)第一個(gè)字母 jquery對(duì)象必須以’$’開(kāi)頭命名 let thisIsM...
閱讀 2365·2021-11-11 16:54
閱讀 2612·2021-09-26 09:47
閱讀 3987·2021-09-08 09:36
閱讀 2735·2021-07-25 21:37
閱讀 931·2019-08-30 15:54
閱讀 2543·2019-08-30 14:22
閱讀 3253·2019-08-30 13:57
閱讀 2583·2019-08-29 17:17