跳至主要內容
版本:10.x

輕鬆建立端對端類型安全的 API

codecov weekly downloads GitHub License GitHub Stars

簡介

tRPC 讓您可以輕鬆建立和使用完全類型安全的 API,無需使用架構或產生程式碼。

隨著 TypeScript 和靜態型別越來越成為網頁開發的最佳實務,API 契約成為一個主要的痛點。我們需要更好的方式來靜態型別化我們的 API 端點,並在我們的客戶端和伺服器(或伺服器對伺服器)之間共用這些型別。我們著手建立一個簡單的函式庫,用於建立類型安全的 API,並充分利用現代 TypeScript 的強大功能。

傳統 REST 或 GraphQL 的替代方案

目前,GraphQL 是在 TypeScript 中實作類型安全 API 的主要方式(而且它很棒!)。由於 GraphQL 被設計為用於實作 API 的與語言無關的規範,因此它無法充分利用 TypeScript 等語言的強大功能。

如果您的專案是使用全端堆疊 TypeScript 建立的,則您可以直接在您的客戶端和伺服器之間共用型別,而無需依賴產生程式碼。

tRPC 適用於哪些人?

tRPC 適用於全端 TypeScript 開發人員。它讓您可以輕鬆撰寫端點,並安全地用於應用程式的前端和後端。您的 API 合約中的類型錯誤將在建置時被偵測到,減少應用程式在執行階段出現錯誤的可能性。

功能

  • ✅  經過良好測試且已準備好投入生產。
  • 🧙‍♂️  針對輸入、輸出和錯誤,在用戶端提供完整的靜態類型安全性與自動完成。
  • 🐎  敏捷的 DX - 無需產生程式碼、執行階段膨脹或建置管線。
  • 🍃  輕量化 - tRPC 沒有任何依賴項,且用戶端佔用空間極小。
  • 🐻  適用於新舊專案 - 容易上手,或新增至您現有的 brownfield 專案。
  • 🔋  與框架無關 - tRPC 社群已為所有最受歡迎的框架建置了 轉接器
  • 🥃  支援訂閱 - 為您的應用程式新增類型安全的可觀察性。
  • ⚡️  請求批次處理 - 同時進行的請求可以自動合併為一個請求。
  • 👀  範例 - 查看 範例 以學習或作為起點。