Hoppa till huvudinnehållet
Version: 9.x
Inofficiell Beta-översättning

Denna sida har översatts av PageTurner AI (beta). Inte officiellt godkänd av projektet. Hittade du ett fel? Rapportera problem →

tRPC

End-to-end typesafe APIs made easy

codecovGitHub LicenseGitHub Stars

Watch Video

Alex / KATT and Prisma's Mahmoud Abdelwahab doing a deep dive into tRPC.

Introduktion

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

När TypeScript och statisk typning alltmer blir bästa praxis inom webbprogrammering utgör API:et en betydande smärtpunkt. Vi behöver bättre sätt att statiskt typa våra API-slutpunkter och dela de typerna mellan klient och server (eller server-till-server). Vi satte oss i kast med att bygga ett enkelt bibliotek för att skapa typesäkra API:er som utnyttjar modern TypeScripts fulla potential. Här presenterar vi tRPC!

Ett alternativ till traditionell REST eller GraphQL

För närvarande är GraphQL det dominerande sättet att implementera typesäkra API:er i TypeScript (och det är fantastiskt!). Eftersom GraphQL är designat som en språkagnostisk specifikation för API-implementationer utnyttjar det inte full potential av ett språk som TypeScript - mer läsning.

Om ditt projekt byggs med fullstack TypeScript kan du dela typer direkt mellan klient och server utan att förlita dig på kodgenerering.

Funktioner

  • ✅  Väl testad och produktionsredo.

  • 🧙‍♂️  Fullständig statisk typesäkerhet & autokomplettering på klienten, för indata, utdata och fel.

  • 🐎  Snabb DX - Ingen kodgenerering, runtime-bloat eller byggpipeline.

  • 🍃  Lättvikt - tRPC har noll dependencies och minimal klientpåverkan.

  • 🐻  Enkelt att integrera i ditt befintliga brownfield-projekt.

  • 🔋  Batterier ingår - React.js/Next.js/Express.js/Fastify-adaptrar. (Men tRPC är inte knutet till React och det finns många community-adaptrar för andra bibliotek)

  • 🥃  Stöd för subscriptions.

  • ⚡️  Request batching - förfrågningar som görs samtidigt kan automatiskt kombineras till en.

  • 👀  Ganska många exempel du kan använda som referens eller utgångspunkt.