SuperAPI AI 工具集

nitro

部署与运维

查看项目

更新于 10-15 21:51

技能介绍

用途:Nitro v3 用于构建、配置和部署通用 JavaScript 服务器,适用于需要跨平台部署的服务端应用。

主要能力:提供配置(nitro.config.ts、defineNitroConfig、defineConfig)、请求处理(defineHandler)、文件系统路由、缓存(defineCachedHandler)、存储(useStorage)、插件(definePlugin)以及部署预设(preset、NITRO_PRESET)等能力。

使用方式:新项目在 nitro.config.ts 中使用 defineConfig,或在 vite.config.ts 中加入 nitro/vite 的 nitro() 插件。服务入口从 server.ts 导出兼容 Web 的 fetch(Request): Response 处理器,Express/Fastify 场景使用 server.node.ts。文件路由放在 routes/ 或 api/,动态段用 [param],方法路由用 .get.ts/.post.ts。缓存使用 nitro/cache 的 defineCachedHandler 并配置 maxAge、swr;存储使用 nitro/storage 的 useStorage(namespace) 并配置驱动;插件放在 plugins/ 目录。部署通过配置 preset 或 NITRO_PRESET 环境变量,Vercel/Netlify/Cloudflare 可自动检测。

核心约束:从 "nitro" 导入 defineHandler,而非 v2 的 defineEventHandler;配置辅助函数从 nitro/config、nitro/cache、nitro/storage、nitro/database、nitro/runtime-config、nitro/types 等子路径导入;使用 Web 标准 event.req 处理 body/headers,而非 readBody、getHeader 等 v2 工具;中间件除非有意终止请求否则不要返回值;defineCachedHandler 仅缓存 GET/HEAD,其他方法自动绕过;useDatabase 与 defineTask 需要实验性功能标志;包名使用 "nitro" 而非 "nitropack"。

验证与排错:运行 nitro dev 验证路由,运行 nitro build 检查 .output/server/ 产物;缓存路由检查 etag、cache-control 与 304;存储检查数据是否跨请求持久化;部署检查预设输出格式。常见问题包括 defineEventHandler 未定义、找不到 nitropack 模块、路由未匹配、中间件意外返回响应等。

限制:资料未提供具体版本兼容范围、性能数据、收费与价格信息,也未提供完整代码示例,相关细节暂未提供。