Repolode
fastify

fastify/fastify-nextjs

Un plugin de Fastify que permite a un servidor Fastify existente renderizar páginas de Next.js con renderizado de React en el servidor.

Estrellas
557
Forks
63
Issues abiertos
6
Último commit
anteayer

¿Qué es?

@fastify/nextjs es un plugin de Fastify que añade el renderizado de páginas de Next.js a un servidor Fastify existente. No reemplaza el servidor web interno de Next.js por Fastify; en su lugar, expone una API de rutas `next` en la instancia de Fastify para que determinadas rutas rendericen páginas de Next.js.

Las rutas se declaran dentro de un callback `after` para dar tiempo a que Next.js se inicialice. Los desarrolladores pueden renderizar páginas directamente, pasar opciones personalizadas de Next.js al registrar el plugin o escribir handlers personalizados que llamen a `reply.nextRender` o `reply.nextRenderError`. De forma predeterminada, se habilita la entrega de recursos estáticos `_next/*`, que se puede desactivar para aplicar un preprocesamiento personalizado.

El plugin también se integra con @fastify/under-pressure, que puede devolver errores cuando la carga del servidor es alta, ya que el renderizado de React bloquea el bucle de eventos de Node.js. Además, permite compartir con las páginas objetos asociados a una solicitud procedentes de otros plugins de Fastify y aumentar el tiempo de espera del plugin para proyectos grandes de Next.js en modo de desarrollo.

Funciones clave

  • 01Expone una API de rutas `next` en Fastify para renderizar páginas de Next.js.
  • 02Admite handlers de renderizado personalizados y los helpers `reply.nextRender` y `reply.nextRenderError`.
  • 03Sirve recursos `_next/*` de forma predeterminada, con una opción para desactivarlo.
  • 04Incluye protección opcional contra sobrecargas basada en la carga.
  • 05Permite adjuntar a las solicitudes propiedades personalizadas de otros plugins de Fastify para que estén disponibles en las páginas.

Casos de uso

  • Añadir páginas de React renderizadas en el servidor a un servicio API existente de Fastify.
  • Servir un frontend de Next.js junto con rutas de Fastify en un mismo proceso de Node.js.
  • Proteger frente a sobrecargas un servidor Fastify que renderiza Next.js mediante errores basados en el estado de salud.

Inicio rápido

  1. 1

    Instala el plugin junto con Next.js y React

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

    Crea un archivo de página en pages/hello.js

  3. 3

    Registra el plugin y llama a fastify.next('/hello') dentro de un callback after; luego, inicia el servidor en el puerto 3000

Antes de usarlo

  • Next.js debe instalarse junto con el plugin. Este sirve para añadir el renderizado de Next.js a un servidor Fastify existente, no para reemplazar el servidor web propio de Next.js.
  • Los proyectos grandes de Next.js pueden superar el tiempo de espera predeterminado de 10 segundos del plugin de Fastify durante el desarrollo, por lo que quizá necesiten un pluginTimeout más largo.

Temas

Preguntas frecuentes

¿Qué es fastify-nextjs?
Un plugin de Fastify que permite a un servidor Fastify existente renderizar páginas de Next.js con renderizado de React en el servidor. @fastify/nextjs es un plugin de Fastify que añade el renderizado de páginas de Next.js a un servidor Fastify existente. No reemplaza el servidor web interno de Next.js por Fastify; en su lugar, expone una API de rutas `next` en la instancia de Fastify para que determinadas rutas rendericen páginas de Next.js.
¿fastify-nextjs es gratuito? ¿Qué licencia tiene?
fastify-nextjs es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿fastify-nextjs sigue mantenido?
Mantenimiento activo. El último commit de fastify-nextjs fue el 4 nov 2026.
¿Para qué puedo usar fastify-nextjs?
Añadir páginas de React renderizadas en el servidor a un servicio API existente de Fastify. Servir un frontend de Next.js junto con rutas de Fastify en un mismo proceso de Node.js. Proteger frente a sobrecargas un servidor Fastify que renderiza Next.js mediante errores basados en el estado de salud.
¿Cómo se instala fastify-nextjs?
Instala el plugin junto con Next.js y React: npm i @fastify/nextjs next react react-dom Crea un archivo de página en pages/hello.js Registra el plugin y llama a fastify.next('/hello') dentro de un callback after; luego, inicia el servidor en el puerto 3000
¿Dónde consigo fastify-nextjs?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/fastify/fastify-nextjs

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Biblioteca de internacionalización (i18n) para Next.js, con sintaxis de mensajes ICU, fechas y números adaptados a la configuración regional, y hooks de traducción con seguridad de tipos.

4,4 mil+5 esta semana396TypeScriptMITBien mantenidoActualizado el mes pasado