41
Re:Nuxt 100 天練習曲
Day 41

給 Nuxt 的忽略清單 (.nuxtignore)

Day 41·Build Ignore·Project Management

昨天我們學習了給 Git 用的 .gitignore,它用來告訴 Git 哪些檔案「不必打包進版本庫」。而 .nuxtignore 則是給 Nuxt 用的忽略清單,它告訴 Nuxt 哪些檔案在「建置 (build) 專案時不必處理」。

1. 關鍵區別:`.gitignore` vs. `.nuxtignore`

讓我們用電影製作來比喻,您就能立刻明白:

.gitignore (給製片公司 Git 看的)

作用:

告訴 Git 哪些東西不要放進最終的電影拷貝裡。

例子:

導演的私人筆記 (.env)、拍攝現場的臨時道具 (node_modules)。

.nuxtignore (給導演 Nuxt 看的)

作用:

告訴 Nuxt 哪些場景 (檔案) 雖然拍了,但在最終剪輯 (build) 時請忽略它們,不要剪進電影正片裡。

例子:

一個還沒完成、不想發布的頁面或元件。

對照表:

檔案作用對象作用階段
.gitignoreGit版本控制時忽略
.nuxtignoreNuxt建置 (build) 時忽略

2. 使用時機

什麼時候會需要告訴 Nuxt 忽略一個檔案呢?

草稿或備份檔案

您可能在 components/ 資料夾裡留了一個舊版的備份元件,例如 components/Card-old.vue。您不希望 Nuxt 把它當作一個真正的元件來處理。

暫時禁用功能

您可能正在開發一個新的頁面 (pages/new-feature.vue),但它還沒完成,您不希望它在這次的建置中被包含進去。

3. 如何使用

在專案根目錄建立 .nuxtignore 檔案。它的語法和 .gitignore 完全一樣,每一行都是一個檔案路徑或匹配模式。

.nuxtignore
# .nuxtignore

# 忽略這個特定的版型檔案
layouts/dark-theme.vue

# 忽略 pages/drafts/ 資料夾下的所有頁面
pages/drafts/*.vue

# 忽略除了 special.ts 以外,所有在 middleware/temp/ 的中介軟體
middleware/temp/*.ts
!middleware/temp/special.ts

模式說明:

layouts/dark-theme.vue→ 忽略特定檔案
pages/drafts/*.vue→ 忽略資料夾下所有 .vue 檔案
!middleware/temp/special.ts→ 不要忽略這個特定檔案

今日總結

今天我們學會了 .nuxtignore,它是我們與 Nuxt 建置系統溝通的另一種方式。

它和 .gitignore 的區別:一個是給 Git 看的,一個是給 Nuxt 看的。

主要用於忽略草稿檔案、備份檔案或未完成的功能。

語法與 .gitignore 完全相同,支援萬用字元和排除規則。

影響建置過程,被忽略的檔案不會包含在最終的應用程式中。

實用建議

善用 .nuxtignore 可以讓您更靈活地控制哪些檔案需要被打包到您最終的應用程式中。