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