Перейти к содержимому

16. Деплой

tRPC — это просто TypeScript-библиотека, и она может быть развёрнута на любой платформе, поддерживающей Node.js. В этом уроке рассмотрим основные варианты деплоя: Express, Fastify, Next.js и serverless-функции.

Пакет @trpc/server/adapters/express предоставляет createExpressMiddleware. Добавьте его как middleware в Express-приложение. Это наиболее универсальный вариант — Express работает везде.

Fastify быстрее Express и хорошо подходит для высоконагруженных API. Используйте fastifyTRPCPlugin из @trpc/server/adapters/fastify. Fastify также поддерживает TypeScript из коробки.

При использовании Next.js tRPC API деплоится вместе с фронтендом — никаких дополнительных серверов не нужно. Верцел, Netlify и другие платформы автоматически обрабатывают Next.js API routes.

tRPC можно деплоить как serverless функции (AWS Lambda, Cloudflare Workers). Используйте fetchRequestHandler для Edge Runtime или специальные адаптеры для Lambda.

При размещении фронтенда и бэкенда на разных доменах необходимо настроить CORS. Добавьте заголовки Access-Control-Allow-Origin, Access-Control-Allow-Methods и Access-Control-Allow-Headers.

Для production обязательно используйте переменные окружения для: URL базы данных, секрета JWT, разрешённых CORS-origins. Никогда не хардкодьте чувствительные данные в коде.