Nuxt 的秘密武器 (內建伺服器)
我們一直說 Nuxt 是「全端框架」,今天,我們就來看看它的後端有多強大。Nuxt 內建了一個超高效能的伺服器引擎,讓您的網站不只是一個網站,更可以是一個完整的應用程式。
1. 認識 Nuxt 的後端心臟:Nitro
Nuxt 的後端能力由一個名為 Nitro 的伺服器引擎提供。
您可以把它想像成是藏在您網站背後的一個高效能、輕量級的引擎室。這個引擎室賦予了 Nuxt 許多超能力,讓我們能用同一份程式碼庫,同時處理前端的畫面和後端的邏輯。
- • 高效能、輕量級的伺服器引擎
- • 支援混合渲染 (Hybrid Rendering)
- • 可部署到任何平台
- • 內建 API 路由功能
2. 我可以用這個引擎做什麼?
有了 Nitro,最直接的好處就是您可以在專案裡,輕鬆地建立自己的後端 API。
您只需要在 server/api/
資料夾裡建立一個檔案,例如 hello.ts
,它就會自動變成一個可以訪問的 API 端點 /api/hello
。
// server/api/hello.ts
// Nuxt 會自動掃描這個檔案,並建立對應的 API 路由
export default defineEventHandler((event) => {
// 您可以在這裡連接資料庫、處理商業邏輯...
return {
message: 'Hello from the Nuxt Server!'
}
})
好處:這意味著,您不用再另外架設一個後端伺服器,就能直接在 Nuxt 專案裡處理資料、驗證使用者、提供 API 服務。
3. Nitro 的兩大超能力
Nitro 帶來的好處遠不止於此,其中最厲害的是這兩點:
超能力一:混合渲染 (Hybrid Rendering)
Nitro 就像一個聰明的交通管制員。您可以透過在 nuxt.config.ts
中設定 routeRules
,來精準地告訴它網站上每一個頁面要用哪種方式來處理,以達到最佳效能。
首頁 /:流量最大,我們在建置時就產生好靜態頁面,訪問速度最快 (prerender: true)。
API /api/*:資料可能會變,但不用每次都重新抓,我們讓它快取一小時 (cache: { maxAge: 3600 })。
儀表板 /dashboard:每個使用者看到的都不同,所以每次訪問都即時在伺服器上渲染 (這是 Nuxt 的預設行為)。
超能力二:隨處部署 (Universal Deployment)
因為 Nitro 的設計,您的 Nuxt 專案可以被打包成能在任何地方執行的格式。無論是傳統的 Node.js 主機,還是 Vercel、Netlify、Cloudflare 等現代化的雲端平台,Nitro 都能輕鬆應對。
今日總結
今天我們打開了 Nuxt 的後端大門,認識了強大的 Nitro 引擎。
Nitro 是 Nuxt 的後端心臟
高效能、輕量級的伺服器引擎,提供完整的後端功能
我們可以在 server/api/ 裡輕鬆建立 API
不需要額外的後端伺服器,直接在 Nuxt 專案中處理後端邏輯
透過 routeRules 可以實現混合渲染,達到最佳效能
為不同頁面選擇最適合的渲染策略
Nuxt 專案可以部署到任何地方
支援各種現代化平台和傳統主機環境
有了這些概念,您就真正理解了為什麼 Nuxt 是一個「全端」框架。它不僅僅是個前端工具,更是一個能讓您從頭到尾打造完整應用的強大平台。