개요
tRPC는 단독으로 서버 역할을 하지 않으므로, 단순한 Node.js HTTP Server, Express, 또는 Next.js와 같은 다른 호스트를 통해 서빙되어야 합니다. 어떤 백엔드를 선택하더라도 대부분의 tRPC 기능은 동일합니다. 어댑터는 호스트 시스템과 tRPC API 사이의 연결고리 역할을 합니다.
어댑터는 일반적으로 몇 가지 공통된 규약을 따르며, createContext를 통해 컨텍스트 생성을 설정하고 onError를 통해 전역적으로 에러를 처리할 수 있게 합니다. 또한 애플리케이션에 적합한 호스트를 선택할 수 있도록 합니다.
여러 가지 API 호스팅 방식을 지원하며, 관련 문서는 여기에서 확인하실 수 있습니다.
- 서버풀 API의 경우, Standalone 어댑터를 사용하거나, Express 또는 Fastify 어댑터를 사용하여 기존 API에 통합할 수 있습니다
- 서버리스 솔루션을 원한다면 AWS Lambda를 선택하거나, 엣지 런타임의 경우 Fetch를 사용할 수 있습니다
- 풀스택 프레임워크를 사용하고 있다면 Next.js와 같은 완전한 통합을 원할 수 있으며, Next.js, Astro, Remix, 또는 SolidStart와 함께 Fetch 어댑터를 사용할 수도 있습니다
팁
로컬 개발이나 서버풀 인프라의 경우, 가장 간단한 어댑터는 표준 Node.js HTTP Server를 실행하는 데 사용할 수 있는 Standalone Adapter입니다. 빠르게 시작해야 하고 기존 HTTP Server와 통합할 필요가 없는 경우 이 어댑터를 권장합니다. 요구사항이 변경되면 나중에 교체하는 것은 매우 쉽습니다.