介绍

tRPC 允许您轻松构建和使用完全类型安全的 API,无需模式或代码生成。

随着 TypeScript 和静态类型在 Web 开发中日益成为最佳实践,API 契约呈现出一个主要痛点。我们需要更好的方法来对我们的 API 端点进行静态类型化,并将这些类型共享在我们的客户端和服务器之间(或服务器到服务器)。我们着手构建一个简单的库,用于构建利用现代 TypeScript 全部功能的类型安全 API。

传统 REST 或 GraphQL 的替代方案

目前,GraphQL 是在 TypeScript 中实现类型安全 API 的主要方式(它太棒了!)。由于 GraphQL 被设计为实现 API 的语言无关规范,因此它没有充分利用像 TypeScript 这样的语言的全力。

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

tRPC 面向谁?

tRPC 面向全栈 TypeScript 开发人员。它使编写可以在应用程序的前端和后端安全使用的端点变得容易。您的 API 契约的类型错误将在构建时被捕获,减少应用程序运行时的错误。

功能

  • ✅ 经过良好测试并准备用于生产。
  • 🧙‍♂️ 客户端输入、输出和错误的完全静态类型安全和自动完成。
  • 🐎 快速开发体验 - 无需代码生成、运行时膨胀或构建管道。
  • 🍃 轻量级 - tRPC 没有依赖项,客户端占用空间小。
  • 🐻 适用于新旧项目 - 易于开始使用或添加到您现有的棕地项目中。
  • 🔋 框架不可知 - tRPC 社区已经为所有最受欢迎的框架构建了适配器
  • 🥃 支持订阅 - 为您的应用程序添加类型安全的可观察性。
  • ⚡️ 请求批处理 - 同时发出的请求可以自动合并为一个。
  • 👀 示例 - 查看示例以学习或用作起点。

请注意,由于您提供的文本包含了一些用于网页布局的 CSS 媒体查询代码,这些代码在这里没有实际用途,因此我已将它们省略。如果您需要在特定的编程或技术环境中应用这些格式,请确保遵循相应的指南和最佳实践。