通过 100+ 条技巧学习 Nuxt!

服务器

使用 Nuxt 的服务器框架构建全栈应用程序。你可以从数据库或其他服务器获取数据,创建 API,甚至生成静态服务器端内容,如站点地图或 RSS 源 - 所有这些都来自一个代码库。
文档 > 指南 > 目录结构 > 服务器 中阅读更多内容。

由 Nitro 提供支持

Server engine

Nuxt 的服务器是 Nitro。它最初是为 Nuxt 创建的,但现在是 UnJS 的一部分,并向其他框架开放 - 甚至可以单独使用。

使用 Nitro 为 Nuxt 赋予超能力

  • 完全控制应用程序的服务器端部分
  • 在任何提供商上进行通用部署(许多零配置)
  • 混合渲染

Nitro 内部使用 h3,这是一个为高性能和可移植性构建的最小 H(TTP) 框架。

观看 Alexander Lichter 的视频,了解 Nuxt 和 Nitro 在你的应用程序中的职责。

服务器端点 & 中间件

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

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

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

你可以直接返回 textjsonhtml 甚至 stream

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

文档 > 指南 > 目录结构 > 服务器 中阅读更多内容。

通用部署

Nitro 提供了将你的 Nuxt 应用部署到任何地方的能力,从裸机服务器到边缘网络,启动时间仅需几毫秒。 这太快了!

请在 博客 > Nuxt On The Edge 中了解更多信息。

有超过 15 个预设可以为不同的云提供商和服务器构建你的 Nuxt 应用,包括

或者用于其他运行时

Deno

Bun

请在 文档 > 入门 > 部署 中了解更多信息。

混合渲染

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 }
} // ... } })
了解所有可用的路由规则,以自定义路由的渲染模式。

此外,还有一些路由规则(例如,ssrappMiddlewareexperimentalNoScripts)是 Nuxt 特有的,用于更改将页面渲染为 HTML 时的行为。

一些路由规则(appMiddlewareredirectprerender)也会影响客户端行为。

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

请在 文档 > 指南 > 概念 > 渲染 中了解更多信息。