【Next.js】常用 scripts 說明
這段 "scripts"
通常定義在你的 package.json
中,是 Next.js 專案開發流程的基本指令集。下面我會逐一說明每個指令的用途、情境,以及何時使用:
📜 "scripts"
說明
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
}
1. "dev": "next dev"
✅ 本地開發環境使用,啟動熱重載伺服器。
-
🔁 支援 hot reload(你改檔案會自動重新載入)
-
✅ 用於:開發、除錯、畫面確認、檢查 API
🧪 情境:
npm run dev
# 或
pnpm dev
2. "build": "next build"
🔨 打包應用程式,產生 .next/
目錄,準備部署。
-
會做:
-
頁面預先產生(SSG)
-
Server-side 轉譯編譯(SSR)
-
Minify, tree shaking, code split...
-
-
❌ 不會啟動伺服器
🧪 情境:
npm run build
# -> 打包專案供 production 用
3. "start": "next start"
🚀 啟動 Production 模式伺服器
-
需要先執行過
next build
-
適合用於正式環境或模擬正式環境(staging)
-
沒有 hot reload(因為是 production)
🧪 情境:
npm run build
npm start
# -> 用於正式上線或部署伺服器中
4. "lint": "next lint"
🔍 使用 Next.js 的內建 ESLint 設定檢查程式碼品質。
-
檢查:變數命名、語法錯誤、不一致縮排
-
如果你有設定 ESLint 設定檔(如
.eslintrc.js
)會套用規則
🧪 情境:
npm run lint
# -> 在部署前自動檢查程式碼品質
🧠 小結(對照表)
指令 | 用途 | 執行時機 | 是否正式用途 |
---|---|---|---|
dev |
啟動開發伺服器 | 開發階段 | ❌ |
build |
建立正式環境可執行檔 | 上線前打包 | ✅ |
start |
啟動正式伺服器 | 上線後/模擬上線 | ✅ |
lint |
檢查語法與格式 | 開發中、CI 中自動化流程檢查 | ✅ |
如果你想再加上測試、自動部署或 CI/CD 的 script,我也可以幫你補上建議範本。需要嗎?