介绍
tRPC 允许您轻松构建和使用完全类型安全的 API,无需模式或代码生成。
随着 TypeScript 和静态类型在 Web 开发中日益成为最佳实践,API 契约呈现出一个主要痛点。我们需要更好的方法来对我们的 API 端点进行静态类型化,并将这些类型共享在我们的客户端和服务器之间(或服务器到服务器)。我们着手构建一个简单的库,用于构建利用现代 TypeScript 全部功能的类型安全 API。
传统 REST 或 GraphQL 的替代方案
目前,GraphQL 是在 TypeScript 中实现类型安全 API 的主要方式(它太棒了!)。由于 GraphQL 被设计为实现 API 的语言无关规范,因此它没有充分利用像 TypeScript 这样的语言的全力。
如果您的项目是使用全栈 TypeScript 构建的,您可以直接在客户端和服务器之间共享类型,而无需依赖代码生成。
tRPC 面向谁?
tRPC 面向全栈 TypeScript 开发人员。它使编写可以在应用程序的前端和后端安全使用的端点变得容易。您的 API 契约的类型错误将在构建时被捕获,减少应用程序运行时的错误。
功能
- ✅ 经过良好测试并准备用于生产。
- 🧙♂️ 客户端输入、输出和错误的完全静态类型安全和自动完成。
- 🐎 快速开发体验 - 无需代码生成、运行时膨胀或构建管道。
- 🍃 轻量级 - tRPC 没有依赖项,客户端占用空间小。
- 🐻 适用于新旧项目 - 易于开始使用或添加到您现有的棕地项目中。
- 🔋 框架不可知 - tRPC 社区已经为所有最受欢迎的框架构建了适配器。
- 🥃 支持订阅 - 为您的应用程序添加类型安全的可观察性。
- ⚡️ 请求批处理 - 同时发出的请求可以自动合并为一个。
- 👀 示例 - 查看示例以学习或用作起点。
请注意,由于您提供的文本包含了一些用于网页布局的 CSS 媒体查询代码,这些代码在这里没有实际用途,因此我已将它们省略。如果您需要在特定的编程或技术环境中应用这些格式,请确保遵循相应的指南和最佳实践。