Repolode
fastify

fastify/fastify-nextjs

Плагин Fastify, который позволяет существующему серверу Fastify рендерить страницы Next.js с помощью серверного рендеринга React.

Звёзды
557
Форки
63
Открытые issues
6
Последний коммит
3 дня назад

Что это?

@fastify/nextjs — плагин Fastify, который добавляет рендеринг страниц Next.js в уже существующий сервер Fastify. Он не заменяет встроенный веб-сервер Next.js на Fastify, а предоставляет API маршрутов `next` в экземпляре Fastify, чтобы выбранные маршруты могли рендерить страницы Next.js.

Маршруты объявляются внутри callback-функции `after`, чтобы Next.js успел инициализироваться. Разработчики могут рендерить страницы напрямую, передавать пользовательские параметры Next.js при регистрации плагина или писать собственные обработчики, вызывающие `reply.nextRender` либо `reply.nextRenderError`. Раздача статических ресурсов `_next/*` включена по умолчанию; её можно отключить для собственной предварительной обработки.

Плагин также интегрируется с @fastify/under-pressure: этот пакет может возвращать ошибки при высокой нагрузке на сервер, поскольку рендеринг React блокирует цикл событий Node.js. Кроме того, плагин позволяет передавать страницам объекты, привязанные к запросу, из других плагинов Fastify, а также увеличивать таймаут плагина для крупных проектов Next.js в режиме разработки.

Ключевые возможности

  • 01Предоставляет API маршрутов `next` в Fastify для рендеринга страниц Next.js.
  • 02Поддерживает пользовательские обработчики рендеринга и вспомогательные методы `reply.nextRender` и `reply.nextRenderError`.
  • 03По умолчанию раздаёт ресурсы `_next/*`; эту возможность можно отключить.
  • 04Поддерживает опциональную защиту от перегрузки на основе нагрузки с помощью under-pressure.
  • 05Позволяет прикреплять к запросам пользовательские свойства из других плагинов Fastify, чтобы они были доступны страницам.

Сценарии использования

  • Добавление страниц с серверным рендерингом React в существующий API-сервис на Fastify.
  • Раздача фронтенда Next.js и обработка маршрутов Fastify в одном процессе Node.js.
  • Защита сервера Fastify, рендерящего Next.js, от перегрузки с помощью ошибок, основанных на состоянии сервера.

Быстрый старт

  1. 1

    Установите плагин вместе с Next.js и React

    npm i @fastify/nextjs next react react-dom
  2. 2

    Создайте файл страницы pages/hello.js

  3. 3

    Зарегистрируйте плагин и вызовите fastify.next('/hello') внутри after-колбэка, затем запустите сервер на порту 3000

Что важно знать

  • Next.js необходимо установить вместе с плагином. Он предназначен для добавления рендеринга Next.js в существующий сервер Fastify, а не для замены собственного веб-сервера Next.js.
  • Во время разработки крупные проекты Next.js могут превысить установленный по умолчанию 10-секундный тайм-аут плагина Fastify, поэтому может потребоваться увеличить pluginTimeout.

Темы

Частые вопросы

Что такое fastify-nextjs?
Плагин Fastify, который позволяет существующему серверу Fastify рендерить страницы Next.js с помощью серверного рендеринга React. @fastify/nextjs — плагин Fastify, который добавляет рендеринг страниц Next.js в уже существующий сервер Fastify. Он не заменяет встроенный веб-сервер Next.js на Fastify, а предоставляет API маршрутов `next` в экземпляре Fastify, чтобы выбранные маршруты могли рендерить страницы Next.js.
fastify-nextjs можно использовать бесплатно? Какая у него лицензия?
fastify-nextjs распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
fastify-nextjs всё ещё поддерживается?
Активно поддерживается. Последний коммит в fastify-nextjs — 4 нояб. 2026 г..
Для чего можно использовать fastify-nextjs?
Добавление страниц с серверным рендерингом React в существующий API-сервис на Fastify. Раздача фронтенда Next.js и обработка маршрутов Fastify в одном процессе Node.js. Защита сервера Fastify, рендерящего Next.js, от перегрузки с помощью ошибок, основанных на состоянии сервера.
Как установить fastify-nextjs?
Установите плагин вместе с Next.js и React: npm i @fastify/nextjs next react react-dom Создайте файл страницы pages/hello.js Зарегистрируйте плагин и вызовите fastify.next('/hello') внутри after-колбэка, затем запустите сервер на порту 3000
Где скачать fastify-nextjs?
Исходный код и инструкции по установке — на GitHub: https://github.com/fastify/fastify-nextjs

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Инструментарий для переводов Next.js-приложений: интегрирует i18next и react-i18next с App Router, Pages Router и middleware.

Фронтенд и UI#i18n#nextjs#react
6,2 тыс.757TypeScriptMITАктивно поддерживаетсяОбновлён 4 дня назад

Библиотека интернационализации для Next.js: синтаксис сообщений ICU, форматирование дат и чисел с учетом локали и типобезопасные хуки переводов.

4,4 тыс.+5 за неделю396TypeScriptMITАктивно поддерживаетсяОбновлён вчера

Быстрый и экономичный веб-фреймворк для Node.js с плагинной архитектурой, валидацией на основе схем и встроенным логированием Pino.

37,4 тыс.+42 за неделю3 тыс.JavaScriptMITАктивно поддерживаетсяОбновлён вчера

Watt — сервер приложений для Node.js, который запускает любые Node.js-приложения в потоках-воркерах, повышая эффективность использования CPU, масштабируемость и наблюдаемость в контейнерах.

Бэкенд и API#nodejs#application-server#worker-threads
2,2 тыс.+37 за неделю211JavaScriptApache-2.0Активно поддерживаетсяОбновлён 21 час назад