Nuxt 的服务器是Nitro。它最初是为 Nuxt 创建的,但现在是UnJS的一部分,并对其他框架开放——甚至可以单独使用。
使用 Nitro 为 Nuxt 带来超能力
Nitro 内部使用h3,一个为高性能和可移植性而构建的极简 H(TTP) 框架。
你可以轻松管理 Nuxt 应用程序的服务器端部分,从 API 端点到中间件。
端点和中间件都可以这样定义
export default defineEventHandler(async (event) => {
// ... Do whatever you want here
})
你可以直接返回文本、json、html,甚至是流。
开箱即用,它支持热模块替换和自动导入,就像 Nuxt 应用程序的其他部分一样。
Nitro 提供了将 Nuxt 应用程序部署到任何地方的能力,从裸机服务器到边缘网络,启动时间仅需几毫秒。这真是快!
有超过 15 个预设可以为不同的云提供商和服务器构建你的 Nuxt 应用程序,包括
或者其他运行时
Nitro 有一个强大的功能,称为routeRules,它允许你定义一组规则来定制 Nuxt 应用程序的每个路由的渲染方式(以及更多)。
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 的路由规则(例如,ssr、appMiddleware和noScripts),用于在将页面渲染为 HTML 时更改行为。
一些路由规则(appMiddleware、redirect和prerender)也会影响客户端行为。
Nitro 用于为服务器端渲染以及预渲染构建应用程序。