Repolode
fastify

fastify/fastify-nextjs

Plugin do Fastify que permite a um servidor Fastify existente renderizar páginas do Next.js com renderização React no servidor.

Estrelas
557
Forks
63
Issues abertas
6
Último commit
há 3 dias

O que é?

@fastify/nextjs é um plugin do Fastify que adiciona a renderização de páginas do Next.js a um servidor Fastify existente. Ele não substitui o servidor web interno do Next.js pelo Fastify; em vez disso, expõe uma API de rotas `next` na instância do Fastify para que rotas específicas renderizem páginas do Next.js.

As rotas são declaradas dentro de um callback `after`, para dar tempo ao Next.js de inicializar. Os desenvolvedores podem renderizar páginas diretamente, passar opções personalizadas do Next.js durante o registro do plugin ou criar handlers personalizados que chamam `reply.nextRender` ou `reply.nextRenderError`. A entrega de assets estáticos `_next/*` vem habilitada por padrão e pode ser desabilitada para permitir um pré-processamento personalizado.

O plugin também se integra ao @fastify/under-pressure, que pode retornar erros quando a carga do servidor está alta, já que a renderização do React bloqueia o event loop do Node.js. Além disso, aborda como compartilhar com as páginas objetos com escopo de requisição de outros plugins do Fastify e como aumentar o timeout do plugin em projetos grandes do Next.js no modo de desenvolvimento.

Recursos principais

  • 01Expõe uma API de rotas `next` no Fastify para renderizar páginas do Next.js.
  • 02Oferece suporte a handlers de renderização personalizados e aos helpers `reply.nextRender` e `reply.nextRenderError`.
  • 03Entrega assets `_next/*` por padrão, com uma opção para desabilitar esse comportamento.
  • 04Inclui proteção opcional contra sobrecarga baseada na carga, usando under-pressure.
  • 05Permite anexar às requisições propriedades personalizadas de outros plugins do Fastify, para que fiquem disponíveis às páginas.

Casos de uso

  • Adicionar páginas React renderizadas no servidor a um serviço de API Fastify existente.
  • Servir um frontend Next.js junto com rotas Fastify no mesmo processo do Node.js.
  • Proteger contra sobrecarga um servidor Fastify que renderiza Next.js, retornando erros com base na saúde do servidor.

Início rápido

  1. 1

    Instale o plugin junto com Next.js e React

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

    Crie um arquivo de página em pages/hello.js

  3. 3

    Registre o plugin e chame fastify.next('/hello') dentro de um callback after; em seguida, inicie o servidor na porta 3000

Antes de usar

  • O Next.js precisa ser instalado junto com o plugin. Ele serve para adicionar a renderização do Next.js a um servidor Fastify existente, não para substituir o servidor web próprio do Next.js.
  • Projetos grandes de Next.js podem ultrapassar o tempo limite padrão de 10 segundos do plugin Fastify durante o desenvolvimento e precisar de um pluginTimeout maior.

Tópicos

Perguntas frequentes

O que é fastify-nextjs?
Plugin do Fastify que permite a um servidor Fastify existente renderizar páginas do Next.js com renderização React no servidor. @fastify/nextjs é um plugin do Fastify que adiciona a renderização de páginas do Next.js a um servidor Fastify existente. Ele não substitui o servidor web interno do Next.js pelo Fastify; em vez disso, expõe uma API de rotas `next` na instância do Fastify para que rotas específicas renderizem páginas do Next.js.
fastify-nextjs é gratuito? Qual é a licença?
fastify-nextjs é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
fastify-nextjs ainda é mantido?
Manutenção ativa. O último commit de fastify-nextjs foi em 4 de nov. de 2026.
Para que posso usar fastify-nextjs?
Adicionar páginas React renderizadas no servidor a um serviço de API Fastify existente. Servir um frontend Next.js junto com rotas Fastify no mesmo processo do Node.js. Proteger contra sobrecarga um servidor Fastify que renderiza Next.js, retornando erros com base na saúde do servidor.
Como instalar fastify-nextjs?
Instale o plugin junto com Next.js e React: npm i @fastify/nextjs next react react-dom Crie um arquivo de página em pages/hello.js Registre o plugin e chame fastify.next('/hello') dentro de um callback after; em seguida, inicie o servidor na porta 3000
Onde consigo fastify-nextjs?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/fastify/fastify-nextjs

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados