ESLint(JavaScript程式碼校驗)
概要
關於JavaScript的程式碼校驗,2016年5月以來大家一直使用jswatchdog,
2018年4月以後,從運維的角度上來說,我們更推薦使用ESLint。
關於ESLint的設定,我們更推薦有利於kintone自定義開發的eslint-config-kintone。
這篇文章,我們將面向初學者來講解如何安裝ESLint的操作方法。
ESLint是什麼
ESLint是2013年由Nicholas C. Zakas釋出的一個開源JavaScript語法校驗工具。
和其他工具不同的是,他的特性在於可以創作單獨規則來補充追加。
ESLint可以靈活設定規則,也釋出了很多公開的規則集。
作為著名的規則集,Google公司釋出了面向JavaScript開發的eslint-config-google,並得到普及。
eslint-config-kintone是什麼
eslint-config-kintone是kintone的開發人員,針對kintone開發的ESLint規則集。
eslint-config-kintone具有一下這些特徵:
-
kintone開發的時候,可以保證程式碼的品質。(jswatchdog也是一樣的。)
-
ESLint 雖然原來是命令列工具,但是也可以作為編輯器的擴充套件來安裝使用。
-
此時,它可以在程式設計的同時實時檢查程式碼。
-
在命令列上使用時,也有自動修正功能。
程式碼的話在GitHub上有公開。
對應編輯器
適用於主流編輯器Sublime Text、Atom等。這次以Visual Studio Code為例來說明。 對應的編輯器可以在ESLint官網裡確認。
ESLint的安裝(Windows)
預先準備
執行ESLint 的話,需要裝有Node.js 和 npm 的環境。
-
從官網上下載 Node.js。這個是官網。
-
點選 “DOWNLOADS” ,選擇適合自己電腦的安裝包下載。
-
點選安裝。
點選 “Next” 。
閱讀 License 規約,“I accept the terms in ihe Licence Agreement” 的單選框打勾後,點選 “Next”。
選擇 Node.js 的安裝目錄,點選 “Next” 。(預設也OK的)
選擇需要安裝的元件,點選 “Next”。(預設也是OK的)
點選 “Install” 後,就開始安裝了。
安裝結束後,點選 “Finish”。
以上Node.js和npm就安裝成功了。
安裝
接下去安裝ESLint和eslint-config-kintone。
※這裡介紹的是全域性安裝的操作方法。
-
在命令提示符下輸入 “node -v” 後確認Node.js的版本。如果版本是4.0.0以下的話,需要更新。
-
輸入 “npm install -g eslint” 安裝 ESLint。輸入命令後就開始安裝。
安裝結束後會出現下面的的訊息。
-
輸入 “npm install -g eslint-config-kintone” 安裝 eslint-config-kintone。
-
輸入 “npm ls -g --depth=0” ,確認ESLint和eslint-config-kintone 是否以父子的關係被安裝。
-
新建立 “.eslintrc.js” 檔案,寫入以下3行。※檔名請以 “.” 為開頭。
module.exports = { "extends": "eslint-config-kintone" };
-
“.eslintrc.js” 放在和想要校驗的專案資料夾同級的資料夾裡。
-
※加入任何一個專案資料夾都是執行同樣的設定的話,放在 “C:\Users\使用者名稱” 下會更方便。
執行命令列
執行ESLint,後面可以是 “eslint 檔名” 或者 “eslint 資料夾”。
例:執行 “test.js” 檔案的時候
▼「test.js」的範例程式碼
1 2 3 4 5 6 7 |
|
※為了確認ESLint是否被正確執行了,我們故意輸出一個錯誤資訊。
実行結果
執行以後,出現如圖所示的錯誤資訊。
在範例程式碼裡:
-
漏了一個分號。
-
運算子前後需要加空格。
-
'result' 這個變數沒有被使用。
出現了以上這些資訊。
※如果執行的是無錯誤的檔案的話,就不會出現任何資訊。
關於錯誤資訊詳細,可以參考ESLint官網的Rules。
運用到編輯器裡
這裡介紹的是如何運用到編輯器裡的方法。
Sublime Text(Windows)
Sublime Text 安裝eslint,只需要通過他自帶的packageControl安裝相應的SublimeLinter和SublimeLinter-eslint兩個包。
安裝方法:
1 下載sublime-package: https://sublime.wbond.net/Package%20Control.sublime-package
2 下載好以後,把它放到“Installed Packages”這個目錄,然後重啟Sublime Text。
(ps : "Installed Packages" 的預設路徑是:"C:\Users\xxx\AppData\Roaming\Sublime Text 3\Installed Packages")
3 如果在Sublime Text的Preferences選單最下邊有Package Settings 和Package Control兩個選項則代表安裝成功了。
此時使用快捷鍵Ctrl+Shift+P開啟Package Control選單,輸入install package,然後通過輸入外掛名來依次安裝 SublimeLinter和SublimeLinter-eslint。
如何檢查結果
開啟剛才的test.js 檔案,點選左下角的圖示開啟除錯結果畫面
同時滑鼠懸停在錯誤程式碼的行前面的小圓點上,也會顯示具體的錯誤資訊。
ESLint的安裝(Mac)
事先準備
執行ESLint 的話,需要裝有Node.js 和 npm 的環境。
從官網上下載 Node.js。這個 是官網。
點選 “DOWNLOADS” ,選擇適合自己電腦的安裝包下載。
點選安裝。
點選 “繼續”。
閱讀 License 規約。
如果統一規約的話,就點選 “同意”。
選擇安裝目錄後,點選 “繼續” 。
在安裝種類這一頁,點選 “安裝”。
安裝解釋後,點選 “關閉” 。
以上Node.js和npm就安裝成功了。
安裝
接下去安裝ESLint和eslint-config-kintone。
※這裡介紹的是全域性安裝的操作方法。
-
在終端輸入 “node -v” 後確認Node.js的版本。如果版本是4.0.0以下的話,需要更新。
$ node -v v8.9.4
-
Mac裡全域性安裝的時候,容易出現許可權錯誤。為了規避這個問題,
我們可以通過以下的操作方法,做成新的目錄,然後設定在那裡進行安裝。
2-1.用 “mkdir” 生成一個 “.npm-global” 的目錄。$ mkdir ~/.npm-global
2-2.執行 “npm config set prefix”, 將此目錄設定成安裝目錄。
$ npm config set prefix
2-3.執行 “vi ~/.profile” 建立或者開啟 “~/.profile”。※以 “.” 作為檔案的開頭。
$ vi ~/.profile
2-4.在 “~/.profile” 檔案裡寫入下面這行程式碼。※執行 “export PATH” 將會更新系統環境變數。
export PATH=~/.npm-global/bin:$PATH
(參考)以終端的vi編輯器操作作為範例。
2-4-1. 輸入 “a” 更改 vi 的輸入模式
2-4-2. 輸入上面的1行命令
2-4-3. 按esc鍵更改 vi 的命令模式
2-4-4. 輸入 “:wq” 後,儲存完了
2-5. 輸入 “source ~/.profile”, 執行這個檔案。$ source ~/.profile
-
輸入 “npm install -g eslint” 安裝ESLint。輸入命令回車後,安裝就開始了。
$ npm install -g eslint
安裝結束後會出現下面的資訊。
-
輸入 “npm install -g eslint-config-kintone” 安裝 eslint-config-kintone。
-
$ npm install -g eslint-config-kintone
-
輸入 “npm ls -g --depth=0”,で、確認ESLint和eslint-config-kintone 是否以父子的關係被安裝。
$ npm ls -g --depth=0 (根目錄)/.npm-global/lib ├── [email protected] └── [email protected]
-
輸入 “vi .eslintrc.js” 新建立 “.eslintrc.js” 檔案。※檔名請以 “.” 為開頭。
$ vi .eslintrc.js
-
“~/.eslintrc.js” 檔案,寫入以下3行。
module.exports = { "extends": "eslint-config-kintone" };
(參考)以終端的vi編輯器操作作為範例。
7-1. 輸入 “a” 更改 vi 的輸入模式
7-2. 輸入上面的3行命令
7-3. 按esc鍵更改 vi 的命令模式
7-4. 輸入 “:wq” 後,儲存完了
執行命令列
運用到編輯器裡
ESLint更多的技巧
為了更習慣使用 ESLint ,給大家介紹一些技巧。
使用自動修正功能
在命令列里加上 “--fix” 選項的話,可以自動修正程式碼更新檔案。
※根據錯誤的種類,也有無法自動修正的情況。
規則設定的變更
特殊的規則例外等,需要更改設定的規則時,可以編輯 .eslintrc 檔案。
-
例1: Garoon 自定義開發使用的時候,需要將garoon物件的錯誤例外的時候
新增 “globals” 引數,將 “garoon” 設定成 “true”。 -
例2: 將特殊的規則例外的時候
新增 “rules” 引數,將需要例外的選項設定成 “off”。
以下是反應了例1和例2 內容的 .eslintrc 檔案範例。
1 2 3 4 5 6 7 8 9 10 |
|
原文連結:https://cybozudev.kf5.com/hc/kb/article/1176602/
更多文章:請檢視開發者社群