在构建 Nuxt 的过程中,我们创建了一个新的服务器引擎Nitro.
它具有许多功能
服务器 API 端点和中间件由 Nitro 添加,它内部使用h3.
主要功能包括
res.end() 和 next())查看h3 文档获取更多信息。
Nitro 允许通过全局可用的 $fetch 辅助函数“直接”调用路由。如果在浏览器上运行,这将对服务器进行 API 调用,但如果在服务器上运行,它将直接调用相关函数,从而节省一次额外的 API 调用。
Content-Type 标头有关 $fetch 功能的更多信息,请查看ofetch.
当使用 API 路由(或中间件)时,只要您返回一个值而不是使用 res.end() 发送响应,Nitro 就会为这些路由生成类型。
您在使用 $fetch() 或 useFetch() 时可以访问这些类型。
Nitro 会生成一个独立于 node_modules 的服务器分发包。
Nuxt 2 中的服务器不是独立的,需要通过运行 nuxt start(使用nuxt-start或nuxt分发包)或自定义程序化使用来涉及 Nuxt 核心的一部分,这很脆弱且容易出错,不适用于无服务器和 Service Worker 环境。
Nuxt 在运行 nuxt build 时会生成这个分发包到 .output 目录。
输出包含在任何环境(包括实验性的浏览器 Service Worker!)中运行 Nuxt 服务器和提供静态文件的运行时代码,使其成为 JAMstack 的真正混合框架。此外,Nuxt 实现了一个原生存储层,支持多源驱动和本地资产。