SuperAPI AI 工具集

nuxt-server

通用与其它

查看项目

更新于 10-15 21:33

技能介绍

Nitro 是 Nuxt 4 的服务端引擎,本资料介绍其服务端开发模式。

用途:构建 Nuxt 4 的 API 路由与后端逻辑,包括受保护接口、数据库读写、文件上传等。

主要能力: 一、文件路由。server/api 下按目录生成接口,文件名后缀决定 HTTP 方法:.get.ts、.post.ts、.put.ts、.patch.ts、.delete.ts,无后缀则匹配所有方法;server/routes 用于非 API 路由,如 sitemap.xml.get.ts;server/middleware 对每个请求运行;server/plugins 用于 Nitro 插件;server/utils 存放工具。 二、请求处理。使用 defineEventHandler;通过 getRouterParam 取路径参数,getQuery 取查询参数,await readBody 读请求体,getHeader/setHeader 读写头,readMultipartFormData 处理文件上传。 三、响应处理。返回值自动序列化为 JSON;用 setResponseStatus 设状态码,sendRedirect 跳转,createError 抛错,getCookie/setCookie/deleteCookie 操作 Cookie。 四、中间件。可在 server/middleware 中做鉴权,把用户挂到 event.context.user,供后续路由使用;示例中支持公开路由白名单。 五、数据库。可集成 Cloudflare D1 与 Drizzle,schema 用 sqliteTable 定义,CRUD 用 select/insert/update/delete,并通过 event.context.cloudflare.env.DB 访问绑定。 六、校验与工具。使用 Zod 的 safeParse 校验请求体;server/utils 中封装 requireAuth、requireRole 等辅助函数。

使用方式:按上述目录结构放置 .ts 文件并导出 defineEventHandler 即可;涉及鉴权、Cookie、上传或数据库时可加载对应参考文档(references/server.md、database-patterns.md、websocket-patterns.md)。

适用场景:需要为 Nuxt 4 应用提供后端接口、会话鉴权、数据库 CRUD、文件上传到 R2 或实时 WebSocket 能力时。

限制与注意:资料未提供安装命令、版本要求、收费或性能数据;排错提示包括接口 404(文件需放在 server/api 且后缀匹配)、请求体为空(须 await readBody)、中间件不生效(文件需在 server/middleware)、D1 绑定缺失(需在 wrangler.toml 配置 d1_databases)。应避免不写方法后缀、不抛错而返回错误对象、忘记 async/await 等反模式。