22
Re:Nuxt 100 天練習曲
Day 22

Nuxt 的秘密武器 (內建伺服器)

Day 22·Nitro 引擎·全端框架

我們一直說 Nuxt 是「全端框架」,今天,我們就來看看它的後端有多強大。Nuxt 內建了一個超高效能的伺服器引擎,讓您的網站不只是一個網站,更可以是一個完整的應用程式。

1. 認識 Nuxt 的後端心臟:Nitro

Nuxt 的後端能力由一個名為 Nitro 的伺服器引擎提供。

您可以把它想像成是藏在您網站背後的一個高效能、輕量級的引擎室。這個引擎室賦予了 Nuxt 許多超能力,讓我們能用同一份程式碼庫,同時處理前端的畫面和後端的邏輯。

Nitro 引擎的核心特色
  • • 高效能、輕量級的伺服器引擎
  • • 支援混合渲染 (Hybrid Rendering)
  • • 可部署到任何平台
  • • 內建 API 路由功能

2. 我可以用這個引擎做什麼?

有了 Nitro,最直接的好處就是您可以在專案裡,輕鬆地建立自己的後端 API。

您只需要在 server/api/ 資料夾裡建立一個檔案,例如 hello.ts,它就會自動變成一個可以訪問的 API 端點 /api/hello

server/api/hello.ts
// server/api/hello.ts
// Nuxt 會自動掃描這個檔案,並建立對應的 API 路由
export default defineEventHandler((event) => {
  // 您可以在這裡連接資料庫、處理商業邏輯...
  return {
    message: 'Hello from the Nuxt Server!'
  }
})

好處:這意味著,您不用再另外架設一個後端伺服器,就能直接在 Nuxt 專案裡處理資料、驗證使用者、提供 API 服務。

3. Nitro 的兩大超能力

Nitro 帶來的好處遠不止於此,其中最厲害的是這兩點:

1

超能力一:混合渲染 (Hybrid Rendering)

Nitro 就像一個聰明的交通管制員。您可以透過在 nuxt.config.ts 中設定 routeRules,來精準地告訴它網站上每一個頁面要用哪種方式來處理,以達到最佳效能。

首頁 /:流量最大,我們在建置時就產生好靜態頁面,訪問速度最快 (prerender: true)。

API /api/*:資料可能會變,但不用每次都重新抓,我們讓它快取一小時 (cache: { maxAge: 3600 })。

儀表板 /dashboard:每個使用者看到的都不同,所以每次訪問都即時在伺服器上渲染 (這是 Nuxt 的預設行為)。

2

超能力二:隨處部署 (Universal Deployment)

因為 Nitro 的設計,您的 Nuxt 專案可以被打包成能在任何地方執行的格式。無論是傳統的 Node.js 主機,還是 Vercel、Netlify、Cloudflare 等現代化的雲端平台,Nitro 都能輕鬆應對。

Node.js
Vercel
Netlify
Cloudflare

今日總結

今天我們打開了 Nuxt 的後端大門,認識了強大的 Nitro 引擎。

Nitro 是 Nuxt 的後端心臟

高效能、輕量級的伺服器引擎,提供完整的後端功能

我們可以在 server/api/ 裡輕鬆建立 API

不需要額外的後端伺服器,直接在 Nuxt 專案中處理後端邏輯

透過 routeRules 可以實現混合渲染,達到最佳效能

為不同頁面選擇最適合的渲染策略

Nuxt 專案可以部署到任何地方

支援各種現代化平台和傳統主機環境

有了這些概念,您就真正理解了為什麼 Nuxt 是一個「全端」框架。它不僅僅是個前端工具,更是一個能讓您從頭到尾打造完整應用的強大平台。