16. Деплой
tRPC — это просто TypeScript-библиотека, и она может быть развёрнута на любой платформе, поддерживающей Node.js. В этом уроке рассмотрим основные варианты деплоя: Express, Fastify, Next.js и serverless-функции.
Express адаптер
Заголовок раздела «Express адаптер»Пакет @trpc/server/adapters/express предоставляет createExpressMiddleware. Добавьте его как middleware в Express-приложение. Это наиболее универсальный вариант — Express работает везде.
Fastify адаптер
Заголовок раздела «Fastify адаптер»Fastify быстрее Express и хорошо подходит для высоконагруженных API. Используйте fastifyTRPCPlugin из @trpc/server/adapters/fastify. Fastify также поддерживает TypeScript из коробки.
Next.js деплой
Заголовок раздела «Next.js деплой»При использовании Next.js tRPC API деплоится вместе с фронтендом — никаких дополнительных серверов не нужно. Верцел, Netlify и другие платформы автоматически обрабатывают Next.js API routes.
Serverless функции
Заголовок раздела «Serverless функции»tRPC можно деплоить как serverless функции (AWS Lambda, Cloudflare Workers). Используйте fetchRequestHandler для Edge Runtime или специальные адаптеры для Lambda.
CORS конфигурация
Заголовок раздела «CORS конфигурация»При размещении фронтенда и бэкенда на разных доменах необходимо настроить CORS. Добавьте заголовки Access-Control-Allow-Origin, Access-Control-Allow-Methods и Access-Control-Allow-Headers.
Переменные окружения
Заголовок раздела «Переменные окружения»Для production обязательно используйте переменные окружения для: URL базы данных, секрета JWT, разрешённых CORS-origins. Никогда не хардкодьте чувствительные данные в коде.