用途:该技能提供使用 tRPC 构建端到端类型安全 API 的实践指导,覆盖共享类型、查询与变更、中间件、输入校验和错误处理。
主要能力:无需代码生成即可在客户端与服务端之间共享类型,默认提供类型安全的查询和变更;支持中间件组合,可链式加入认证、日志、授权等横切关注点;使用 Zod 做输入校验并自动格式化错误响应;通过领域化的 TRPCError 错误码自动映射 HTTP 状态;推荐垂直切片(Vertical Slice)组织方式,按功能而非分层组织代码,每个切片拥有自己的过程、Schema 和数据访问。
使用方式:设计 API 时先确定切片(如邀请、支付、用户),再定义输入 Zod Schema 和输出契约,创建查询、变更或订阅过程,添加认证/日志/授权中间件,使用 TRPCError 抛出领域错误,并保持每个过程一个文件、每个切片一个仓储、不跨切片导入。中间件需用 unstable_pipe() 链式组合。
限制与注意事项:缺乏自定义 errorFormatter 时客户端只能收到笼统的校验失败信息;中间件未正确管道化或未在 opts.next() 中合并上下文会导致上下文中断;过程实例若被导出会使服务端类型泄漏到客户端,应仅导出 typeof appRouter 类型。资料未提供价格、平台或安装命令等细节。