---
title: "服务器"
description: "使用 Nuxt 的服务框架构建全栈应用。您可以从数据库或其他服务器获取数据、创建 API，甚至生成像 sitemap 或 RSS feed 这样的静态服务器端内容 —— 所有这些都可以从一个代码库完成。"
canonical_url: "https://nuxt.zhcndoc.com/docs/4.x/getting-started/server"
---
# 服务器

> 使用 Nuxt 的服务框架构建全栈应用。您可以从数据库或其他服务器获取数据、创建 API，甚至生成像 sitemap 或 RSS feed 这样的静态服务器端内容 —— 所有这些都可以从一个代码库完成。

<read-more to="https://nuxt.zhcndoc.com/docs/4.x/directory-structure/server">



</read-more>

## 由 Nitro 提供支持

![服务器引擎](https://nuxt.zhcndoc.com/assets/docs/getting-started/server.svg)

Nuxt 的服务器是 [Nitro](https://github.com/nitrojs/nitro)。它最初为 Nuxt 创建，但现在是 [UnJS](https://unjs.io) 的一部分，并向其他框架开放 —— 甚至可以单独使用。

使用 Nitro 为 Nuxt 带来强大功能：

- 完全控制应用的服务器端部分
- 在任何提供商上通用部署（许多情况下无需配置）
- 混合渲染

Nitro 在内部使用 [h3](https://github.com/h3js/h3)，这是一个为高性能和可移植性构建的精简 H(TTP) 框架。

<video-accordion title="观看 Alexander Lichter 的视频，了解 Nuxt 与 Nitro 在您的应用中各自的职责" video-id="DkvgJa-X31k">



</video-accordion>

## 服务器端点与中间件

您可以轻松管理 Nuxt 应用的仅服务器部分，从 API 端点到中间件。

端点和中间件都可以这样定义：

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

并且您可以直接返回 `text`、`json`、`html` 或甚至一个 `stream`。

开箱即用，它像 Nuxt 应用的其他部分一样支持 **热模块替换** 和 **自动导入**。

<read-more to="https://nuxt.zhcndoc.com/docs/4.x/directory-structure/server">



</read-more>

## 通用部署

Nitro 提供了将 Nuxt 应用部署到任何地方的能力，从裸金属服务器到边缘网络，启动时间仅为几毫秒。这很快！

<read-more to="https://nuxt.zhcndoc.com/blog/nuxt-on-the-edge">



</read-more>

有 15 个以上的预设可用于为不同的云提供商和服务器构建您的 Nuxt 应用，包括：

- [Cloudflare Workers](https://workers.cloudflare.com)
- [Netlify Functions](https://www.netlify.com/platform/core/functions/)
- [Vercel Cloud](https://vercel.com/home)

或者用于其他运行时：

<card-group>
<card icon="i-logos-deno" target="_blank" title="Deno" to="https://deno.com">



</card>

<card icon="i-logos-bun" target="_blank" title="Bun" to="https://bun.com">



</card>
</card-group>

<read-more to="https://nuxt.zhcndoc.com/docs/4.x/getting-started/deployment">



</read-more>

## 混合渲染

Nuxt 有一项名为 `routeRules` 的强大功能，可让您定义一组规则，自定义 Nuxt 应用中每个路由的渲染方式（以及其他行为）。Nuxt 会编译这些规则，默认的服务器构建器（Nitro）则会应用其中的服务端规则。

```ts [nuxt.config.ts]twoslash
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 },
    },
    // ...
  },
})
```

<read-more to="https://nuxt.zhcndoc.com/docs/4.x/guide/concepts/rendering#hybrid-rendering">

了解所有可用于自定义路由渲染模式的路由规则。

</read-more>

此外，还有一些路由规则（例如 `ssr`、`appMiddleware` 和 `noScripts`）是 Nuxt 特有的，用于在将页面渲染为 HTML 时更改行为。

某些路由规则（`appMiddleware`、`redirect` 和 `prerender`）也会影响客户端行为。

Nitro 用于为服务端渲染以及预渲染构建应用。

<read-more to="https://nuxt.zhcndoc.com/docs/4.x/guide/concepts/rendering">



</read-more>


## Sitemap

See the full [sitemap](https://nuxt.zhcndoc.com/sitemap.md) for all pages.
