[程式設計] 如何快速建立使用 Prettier + ESLint 自動排版程式碼專案
2017-09-09
排版對程式設計來說,一直是個一大問題。
安裝相關套件
|
|
建立 .eslintrc
設定檔
- 官方組態參考:https://eslint.org/docs/user-guide/configuring
- awesome ESLint:https://github.com/dustinspecker/awesome-eslint
- Prettier 選項:https://github.com/prettier/prettier#options
以下是純粹 prettier 的組態:
以下是集合常見的 eslint 組態:
新增 npm scripts
官方指令參考:https://eslint.org/docs/user-guide/command-line-interface
eslint
:執行eslint
src
:指定目錄--fix
:自動修復可修復的錯誤或警告12345{"scripts": {"eslint": "eslint src --fix"}}
結合 eslint-loader 即時檢查
- eslint-loader: https://github.com/MoOx/eslint-loader
在不藉助使用者自行安裝編輯器套件的情況下,想要達到在開發者 commit
前做好 eslint 檢查和 prettier 排版修正,除了下面還會提到的 pre-commit
方法外,就是結合 eslint-loader 讓 webpack 在持續監視的情況即時套用修正。
安裝 eslint-loader
設定 webpack.config.js
其他選項請參考 eslint-loader 網站說明。
設定 commit
前重新排版
官方在提供了三種方式,這裡則提供另一個作者覺得比較好的解決方案。
安裝 pre-commit
套件。
修改 package.json
的內容,新增後就會有這樣的效果:在 commit
動作之前先執行 store-add
把當前已 add
的檔案暫存在 gittoadd
,接著繼續執行 eslint
和 prettier
重新排版,之後透過 git update
把暫存在 gittoadd
的檔案清單重新 add
回去,最後繼續執行 commit
。
|
|
最後記得把 gittoadd
這個暫存用檔案加入 .gitignore
中,避免被 git
監視。
雖然比起平常執行 commit
的速度要慢上不少,但是這樣就可以真正的做到自動化,就算多人開發時,某些開發者沒有安裝 prettier 的編輯器套件也可以確實地在 commit
之前根據排版規整理過。
安裝編輯器套件
- atom: linter-eslint
- Visual Studio Code: ESLint