伺服器

使用 Nuxt 的伺服器框架構建全棧應用程式。您可以從資料庫或其他伺服器獲取資料、建立 API,甚至生成靜態伺服器端內容,如站點地圖或 RSS 源——所有這些都來自單一程式碼庫。
文件 > 4 X > 指南 > 目錄結構 > 伺服器中閱讀更多內容。

由 Nitro 提供支援

Nuxt 的伺服器是Nitro。它最初是為 Nuxt 建立的,但現在是UnJS的一部分,並對其他框架開放——甚至可以單獨使用。

使用 Nitro 賦予 Nuxt 超能力

  • 完全控制應用程式的伺服器端部分
  • 在任何提供商上通用部署(許多零配置)
  • 混合渲染

Nitro 內部使用h3,一個為高效能和可移植性而構建的極簡 H(TTP) 框架。

伺服器端點和中介軟體

您可以輕鬆管理 Nuxt 應用程式的純伺服器端部分,從 API 端點到中介軟體。

端點和中介軟體都可以這樣定義

server/api/test.ts
export default defineEventHandler(async (event) => {
  // ... Do whatever you want here
})

您可以直接返回textjsonhtml,甚至是stream

開箱即用,它支援**熱模組替換**和**自動匯入**,就像 Nuxt 應用程式的其他部分一樣。

文件 > 4 X > 指南 > 目錄結構 > 伺服器中閱讀更多內容。

通用部署

Nitro 提供了將您的 Nuxt 應用程式部署到任何地方的能力,從裸機伺服器到邊緣網路,啟動時間僅需幾毫秒。這太快了!

部落格 > 邊緣上的 Nuxt中閱讀更多內容。

有超過 15 個預設可以為不同的雲提供商和伺服器構建您的 Nuxt 應用程式,包括

或用於其他執行時

Deno

Bun

文件 > 4 X > 入門 > 部署中閱讀更多內容。

混合渲染

Nitro 有一個強大的功能叫做routeRules,它允許您定義一組規則來定製 Nuxt 應用程式的每個路由如何渲染(以及更多)。

nuxt.config.ts
export default defineNuxtConfig({
  routeRules: {
    // Generated at build time for SEO purpose
    '/': { prerender: true },
    // Cached for 1 hour
    '/api/*': { cache: { maxAge: 60 * 60 } },
    // Redirection to avoid 404
    '/old-page': {
      redirect: { to: '/new-page', statusCode: 302 },
    },
    // ...
  },
})
瞭解所有可用的路由規則,以自定義路由的渲染模式。

此外,還有一些 Nuxt 特有的路由規則(例如,ssrappMiddlewarenoScripts),用於更改將頁面渲染為 HTML 時的行為。

一些路由規則(appMiddlewareredirectprerender)也會影響客戶端行為。

Nitro 用於構建應用程式以進行伺服器端渲染和預渲染。

文件 > 4 X > 指南 > 概念 > 渲染中閱讀更多內容。