跳至主内容
版本:11.x
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

End-to-end typesafe APIs made easy

codecov weekly downloads GitHub License GitHub Stars

简介

tRPC allows you to easily build & consume fully typesafe APIs without schemas or code generation.

随着 TypeScript 和静态类型在 Web 开发中日益成为最佳实践,API 契约成为一大痛点。我们需要更好的方式来静态定义 API 端点类型,并共享这些类型于客户端与服务器(或服务器间)。我们着手构建了一个简单库,利用现代 TypeScript 的全部能力打造类型安全的 API。

传统 REST 或 GraphQL 的替代方案

当前 GraphQL 是在 TypeScript 中实现类型安全 API 的主流方案(它非常棒!)。但由于 GraphQL 被设计为语言无关的 API 规范,它无法充分发挥 TypeScript 这类语言的强大特性。

如果项目采用全栈 TypeScript 构建,你可以在客户端和服务器之间直接共享类型,无需依赖代码生成。

tRPC 适合谁?

tRPC 专为全栈 TypeScript 开发者设计。它能轻松编写可安全用于应用前后端的端点,API 契约的类型错误将在构建时被捕获,大幅减少运行时 bug 的出现几率。

特性

  • ✅  经过充分测试,生产环境可用。

  • 🧙‍♂️  客户端全面的静态类型安全与自动补全,涵盖输入、输出及错误

  • 🐎  极速开发体验 - 无需代码生成、运行时臃肿或构建流程。

  • 🍃  轻量 - 零依赖,客户端占用极小。

  • 🐻  新旧项目皆宜 - 易于新项目启动或添加到现有遗留项目

  • 🔋  框架无关 - tRPC 社区已为所有主流框架构建了适配器

  • 🥃  订阅支持 - 为应用添加类型安全的可观测性

  • ⚡️  请求批处理 - 同时发起的请求可自动合并

  • 👀  示例 - 查看示例应用作为学习起点