跳至主要內容
版本:11.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 沒有依賴項,而且客戶端佔用空間極小。
  • 🐻  適用於新舊專案 - 輕鬆開始或新增至您現有的舊專案。
  • 🔋  與架構無關 - tRPC 社群已為所有最受歡迎的架構建置了轉接器
  • 🥃  支援訂閱 - 為您的應用程式新增類型安全的可觀察性。
  • ⚡️  請求批次處理 - 同時發出的請求可以自動合併為一個。
  • 👀  範例 - 檢視範例以學習或用作起點。