跳轉到

4.3 開發工具:nodemon、ESLint、Prettier#

nodemon:改檔自動重啟#

開發 API 時每次改程式碼都要手動 Ctrl+C 再 node app.js,很煩。nodemon 監看檔案變更,一存檔就自動重啟:

npm install -D nodemon

在 package.json 的 scripts 加上:

{
  "scripts": {
    "dev": "nodemon app.js"
  }
}

之後開發就用:

npm run dev

Node 22+ 也可以用內建的 node --watch app.js,不用裝 nodemon。

ESLint:找出程式碼問題#

ESLint 靜態檢查程式碼:找出未使用的變數、可能的錯誤、不符合規範的寫法。

npm install -D eslint
npx eslint --init    # 互動式設定,生成設定檔

檢查與自動修正:

npx eslint .           # 檢查全部檔案
npx eslint . --fix     # 自動修正可修的問題

在 scripts 加上:

{
  "scripts": {
    "lint": "eslint ."
  }
}

Prettier:統一程式碼格式#

Prettier 自動格式化:縮排、引號、分行全部統一,團隊不再為格式吵架。

npm install -D prettier

建立設定檔 .prettierrc:

{
  "semi": true,
  "singleQuote": true,
  "printWidth": 100
}

格式化:

{
  "scripts": {
    "format": "prettier --write .",
    "check": "prettier --check ."
  }
}

三個工具的分工#

工具 職責 時機
nodemon 改檔自動重啟 寫程式時持續跑
ESLint 找 bug、檢查品質 存檔時 + commit 前
Prettier 統一格式 存檔時 + commit 前

整合到工作流程#

最理想的狀態:這些檢查自動發生,不靠人的記性:

  1. 編輯器整合:裝 ESLint / Prettier 的 VS Code 套件,開啟「存檔時自動格式化」
  2. Git hooks:commit 前自動跑 lint(可用 husky + lint-staged)
  3. CI 檢查:Pull Request 上自動跑 lint 與測試,不通過不能合併

原則:能自動化的就不要靠人肉。工具存在的意義是讓你專心寫程式,把「格式對不對、有沒有低級錯誤」交給機器。