專案的大腦中樞 (nuxt.config.ts)
經過了前面四十多天的學習,您一定對 nuxt.config.ts
這個檔案非常熟悉了,我們幾乎每天都在和它打交道。今天,就讓我們正式地、系統性地來認識這個 Nuxt 專案中最重要的設定檔。
1. 專案的大腦
如果說 app.vue
是專案的骨架,pages/
是房間,那麼 nuxt.config.ts
就是整個專案的大腦和神經中樞。
它掌管著專案的所有核心設定,決定了您的 Nuxt 應用程式要如何運作。從功能開關到效能優化,幾乎所有事情都可以在這裡設定。
我們通常會用 defineNuxtConfig
這個輔助函式把我們的設定包起來。這樣做的好處是,當您在 VS Code 裡寫設定時,它會提供智慧提示和自動補全,能有效避免打錯字。
// nuxt.config.ts
import { defineNuxtConfig } from 'nuxt/config'
export default defineNuxtConfig({
// 所有 Nuxt 的核心設定都寫在這裡
})
使用 defineNuxtConfig
可以獲得完整的 TypeScript 智慧提示,讓設定過程更安全、更高效。
2. 我們曾在這裡做過的事 (回顧)
到目前為止,我們已經在這個檔案裡設定過很多東西了,讓我們來回顧一下:
app: { head: { ... } }
(Day 11)
設定網站全域的 meta 標籤,例如標題和 icon。
modules: [...]
(Day 19, 32)
安裝模組,例如 @pinia/nuxt 或 @nuxt/content,來擴充 Nuxt 的功能。
runtimeConfig: { ... }
(Day 39)
管理環境變數和機密資訊,區分伺服器端和公開的資料。
css: [...]
(Day 6)
引入全域的 CSS 檔案,為整個網站設定統一的樣式。
app: { pageTransition: { ... } }
(Day 13)
設定頁面轉場的預設動畫效果。
routeRules: { ... }
(Day 24)
定義路由規則,實現混合渲染,控制快取策略。
這些只是 nuxt.config.ts
功能的冰山一角,它還有許多其他強大的設定選項等待您去探索!
3. 最高的權力
還記得我們在 Day 42 提到的設定優先級嗎?nuxt.config.ts
擁有最高的權力,它會覆寫 .nuxtrc
裡的任何設定。
正因為它如此重要,任何對 nuxt.config.ts
的修改,都會讓 Nuxt 開發伺服器完全重啟,以確保所有設定都正確生效。
nuxt.config.ts
最高權力
專案 .nuxtrc
中等權力
全域 ~/.nuxtrc
最低權力
今日總結
nuxt.config.ts
是您客製化 Nuxt 專案的核心。它是連結所有 Nuxt 功能、模組和設定的樞紐。
它是整個專案的大腦和神經中樞,掌管所有核心設定。
使用 defineNuxtConfig
可以獲得智慧提示和自動補全。
擁有最高的設定優先級,會覆蓋所有其他設定檔。
修改後會觸發開發伺服器重啟,確保設定正確生效。
雖然我們已經接觸過很多選項,但這還只是冰山一角。當您需要尋找特定設定時,Nuxt 官方設定文件永遠是您最好的朋友。