SuperAPI AI 工具集

trpc

编程与开发

查看项目

更新于 10-16 09:47

技能介绍

用途:为在 Next.js 应用中用 tRPC v11 构建类型安全 API 提供规范指引,触发场景为使用 tRPC 搭建类型安全 API。内容以规则与代码片段形式给出关键模式。

项目结构(必需):src 下含 pages(_app.tsx 放 createTRPCNext 配置、api/trpc/[trpc].ts 作为 tRPC HTTP 处理器)、server(routers/_app.ts 主路由、按功能拆分路由文件、context.ts 创建上下文、trpc.ts 过程辅助)与 utils/trpc.ts(类型安全的 tRPC hooks)。

服务端设置(必需):在 server/trpc.ts 用 initTRPC.create() 初始化一次后端,导出 router 与 publicProcedure。路由定义(必需):在 server/routers/_app.ts 用 zod 定义输入与 query/mutation,并导出类型 AppRouter = typeof appRouter,而非路由本身。客户端设置(必需):utils/trpc.ts 用 createTRPCNext 与 httpBatchLink,getBaseUrl 依浏览器、VERCEL_URL 或 localhost:3000 取地址。

决策树:需要公开接口用 publicProcedure;需要鉴权用带中间件的 protectedProcedure;需要校验在 .input() 用 Zod;需要缓存用 React Query 选项;需要复杂类型用 SuperJSON transformer。能力还包括按功能组织路由、用中间件做鉴权并抛 TRPCError、错误处理示例、SuperJSON 数据转换、React Query 的 useQuery 集成、createContext 上下文创建、过程类型划分(public/protected/admin),以及批处理与 Next.js 预取(createServerSideHelpers、dehydrate)。

版本兼容:tRPC v11,TypeScript >= 5.7.2,需开启 strict: true。限制与更详细的迁移、部署或收费信息暂未提供。