44
Re:Nuxt 100 天練習曲
Day 44

專案的身分證與說明書 (package.json)

Day 44·Project Identity·Dependencies

package.json 是每個 Node.js 專案(包括 Nuxt)的心臟。它不僅記錄了專案的基本資訊,還定義了它需要哪些「零件」(依賴套件)以及如何「啟動」它(指令稿)。

1. 身分證 (基本資訊)

檔案的最上方記錄了專案的基本資訊,就像一張身分證:

package.json
{
  "name": "nuxt-app",
  "private": true,
  "type": "module",
  // ...
}

"name"

專案的名稱。

"private": true

宣告這是一個私人專案,防止意外發布到 npm 上。

"type": "module"

告訴 Node.js 我們採用的是現代的 ES Module 語法。

2. 購物清單 (Dependencies)

我們在 Day 34 提過,package.json 就像是專案的 IKEA 購物清單。dependenciesdevDependencies 這兩個區塊就詳細列出了我們需要的所有「傢俱」和「組裝工具」。

依賴套件設定
{
  // ...
  "dependencies": {
    "nuxt": "latest"
  },
  "devDependencies": {
    "vitest": "latest"
  }
}

"dependencies"

生產環境也需要的核心「傢俱」。

例如 nuxt 本身。

"devDependencies"

只在開發環境才需要的「組裝工具」。

例如測試工具 vitest

安裝過程

當您執行 npm install 時,npm 就會根據這份清單,去 node_modules/ 倉庫把所有東西都準備好。

3. 操作說明書 (Scripts)

scripts 區塊就像是電器的操作手冊。它為我們定義了一系列的「快捷指令」,讓我們不用去記那些又長又複雜的原始指令。

scripts 設定
{
  // ...
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare"
  },
  // ...
}

npm run dev

啟動開發模式,讓我們可以即時預覽網站。

npm run build

建置專案,準備部署到 Node.js 伺服器。

npm run generate

預先渲染專案,產生靜態網站。

npm run preview

預覽建置或產生後的成果。

常用指令範例:

$npm run dev→ 開始開發
$npm run build→ 打包上線
$npm install→ 安裝依賴

今日總結

package.json 是一個極其重要的檔案,它描述了專案的身份、定義了它的依賴關係,並提供了方便的操作指令。

記錄專案基本資訊,就像一張身分證。

定義依賴套件,分為生產環境和開發環境兩類。

提供快捷指令腳本,簡化複雜的命令操作。

是每個 Node.js 專案的核心配置文件。

新手提醒

當您從 GitHub 下載一個新專案時,第一件事通常就是查看 package.json 來了解它,然後執行 npm install 來準備環境。