Day 13 - 一致的程式碼:ESLint 導入
ESLint 的歷史與簡介
在 JavaScript 的早期,開發者缺乏統一的規範,程式碼容易因個人習慣而變得混亂。
- 2000 年代,出現了 JSLint(由 Douglas Crockford 開發,JavaScript 語言守護者之一),用來檢查常見錯誤。
- 之後社群又發展出 JSHint,提供更彈性的規則與設定。
- 到了 2013 年,Nicholas C. Zakas(前 Yahoo! JS 團隊成員)推出 ESLint,透過「規則驅動 + 插件機制」,讓開發者可以自由擴展並制定專案專屬規範。
今天,ESLint 已經成為 JavaScript/TypeScript 專案裡最常見的程式碼檢查工具。
為什麼需要 ESLint?
和昨天的 Prettier 不同,ESLint 專注於 程式邏輯與最佳實踐。
常見檢查範例
- 程式錯誤:未定義變數、未使用的變數、錯誤的語法。
- 最佳實踐:禁止使用
var
、避免any
、規定函式宣告風格。
為什麼重要?
- 降低 Bug 風險:提早發現潛在錯誤,避免程式在 runtime 才爆炸。
- 提升可讀性:團隊都遵守相同規範,程式碼更一致。
- 改善協作體驗:Code Review 時,機器會先抓語法與規範問題,讓人類專注於商業邏輯。
👉 簡單來說:
- Prettier:讓程式碼「好看」
- ESLint:讓程式碼「正確」
VSCode 安裝 ESLint
這邊也建議在 VSCode 裡安裝 ESLint 套件:
專案安裝 ESLint
在專案裡安裝 ESLint 以及相關套件:
1 | npm install eslint @eslint/js eslint-config-prettier eslint-plugin-prettier @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev |
設定 ESLint
在專案根目錄新增 eslint.config.js
:
1 | const js = require("@eslint/js"); |
在 package.json
裡加上 script:
1 | "scripts": { |
npm run lint
:檢查程式碼規則npm run lint:fix
:自動修復能修的錯誤
測試 ESLint
在 /src
下新增 testLint.ts
:
1 | import express from "express"; |
執行:
1 | npm run lint |
你會看到 ESLint 把所有違規都列出來,幫助你更快找到問題。
小結
- ESLint 誕生於 2013 年,是目前最常見的 JavaScript/TypeScript 程式碼檢查工具。
- 與 Prettier 搭配:
- Prettier → 排版風格一致
- ESLint → 邏輯與規範正確
- 在專案中安裝、設定後,可以自動檢查、修復程式,避免錯誤。
補充資料
commit : setup ESLint
👉 明天 (Day14) 我們則會來介紹 Zod 驗證 (API 驗證守護神),期待期待 💪