Next.js
A plataforma Bohr.io fornece duas principais opções para implantar projetos que utilizam o framework Next.js. Este guia irá ajudá-lo a entender e escolher a opção que melhor atende às suas necessidades.
Opção 1: Static Export (Recomendado)
A primeira e recomendada opção é utilizando o Static Export, que era conhecido como next export
. Isso envolve a adição de um atributo output: 'export'
no seu arquivo next.config.js
.
Leia mais sobre como configurar a exportação estática na documentação oficial do Next.js.
Benefícios
- O front-end é servido diretamente pela camada Edge da Bohr.io, o que resulta na menor latência possível para os usuários.
Limitações
- O Image Optimization fica desabilitado.
- Outras funcionalidades que dependem de SSR (Server-Side Rendering) não estão disponíveis.
Como Utilizar
Utilize o template
next-blog-starter
para criar um novo projeto com esta configuração:Certifique-se de que as seguintes variáveis de ambiente estão presentes:
BUILD_CMD=npx next build && npx next export
DEV_CMD=npx next dev --port $PORT
INSTALL_CMD=npm install
PUBLIC_PATH=./out
DEPLOY_PATH=./Em caso de não utilizar o template
next-blog-starter
, é necessário desabilitar o Image Optimization no arquivonext.config.js
:images: {
unoptimized: true
}
Opção 2: Suporte Experimental para SSR
A segunda opção é habilitar o suporte experimental para SSR (Server-Side Rendering) através da criação de variáveis de ambiente.
Como Utilizar
Utilize o template
nextjs-template
para criar um novo projeto com as configurações de SSR habilitadas:Certifique-se de que as seguintes variáveis de ambiente estão presentes:
BOHR_WEB_ADAPTER=1
BOHR_WEB_ADAPTER_TYPE=nextjs
INSTALL_CMD=npm install
BUILD_CMD=npm run build
DEV_CMD=npx next dev --port $PORT
PUBLIC_PATH=./
DEPLOY_PATH=./Caso esteja utilizando a versão 14 do Next, adicione também os seguintes valores:
BOHR_FUNCTION_RUNTIME=nodejs18.x
É necessário também adicionar a seguinte configuração ao arquivo
next.config.js
:module.exports = {
output: 'standalone',
}
Conclusão
Escolha a opção que melhor se adequa às necessidades do seu projeto. O Static Export é geralmente mais rápido e oferece menor latência, mas possui algumas limitações. O suporte experimental para SSR pode ser útil se você precisar de funcionalidades que dependem da renderização no servidor.