tRPC 端到端类型安全 API 框架
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/trpc-end-to-end-typesafe-api-framework。
技能介绍
要解决的问题
TypeScript 的类型系统在项目内部很完整,一到 API 边界就容易失效:服务端定义了请求与响应结构,客户端往往靠手写 DTO 或 any 拼凑,字段改了一边另一边照用,编译期不报警,运行期才出问题。常见补救方案是引入 OpenAPI 或 GraphQL Codegen 这类代码生成管道,契约文件、生成脚本、构建步骤层层叠加,接口每改一次就要重新生成,维护成本并不低。
这套框架如何工作
tRPC 的思路是不做额外契约层:服务端定义 procedure,客户端直接推断服务端类型,inputs、outputs、errors 都能拿到自动补全,不需要 schema 声明、代码生成或额外的运行时开销。框架还提供请求批量(batching)与订阅(subscriptions)能力,并通过适配层对接 Next.js、Express、Fastify 等主流框架。技能资料中的上手路径指向一个全栈 Next.js 示例项目(next-prisma-starter),既可以用来体验完整流程,也可以作为新项目的起点。
适用边界与注意点
- 端到端类型安全依赖两端共享同一套类型环境,拆分仓库时需要把服务端类型暴露给客户端使用。
- 示例项目基于 Next.js + Prisma,不使用 Prisma 的话需要自行替换数据层。
- 资料内容提取自上游官方 README,覆盖安装与起步路径;更细的高级用法(如错误处理策略、中间件组织方式)需要查阅 tRPC 上游文档确认。
使用场景
- 前后端同为 TypeScript 的项目,团队不想维护 OpenAPI 文件与生成脚本,希望客户端类型直接从服务端 procedure 推断
- 用 Next.js 开发全栈应用,需要基于 next-prisma-starter 示例快速得到集成 tRPC 与 Prisma 的完整初始结构
- 页面初始化要并行拉取多个接口数据,希望通过请求批量减少网络往返,同时保留输入输出的类型补全
- 已有 Express 或 Fastify 服务想引入类型安全 RPC,希望不绑定特定框架,通过适配层接入现有路由体系
适合人员
- 全栈 TypeScript 开发者:希望接口契约在编译期对齐,省掉 schema 与代码生成管道的维护
- Next.js 项目的技术负责人:想基于官方示例评估 tRPC 与 Prisma 的组合再决定是否引入
- 维护 Express 或 Fastify 存量服务的后端工程师:需要一套类型安全的 RPC 方案,可适配接入而非重写
- 关注运行时体积的架构师:希望类型安全不引入额外运行时依赖,看重无 schema、无运行时膨胀的设计