
O OpenNext pega o Next.js construa saída e a converte em pacotes que podem ser implantados em uma variedade de ambientes. O OpenNext nativamente tem suporte para o AWS Lambda e o Classic Node.js Server.
O OpenNext pretende suportar todos os próximos.js 14 recursos. Alguns recursos são trabalhos em andamento. Se você estiver enfrentando algum problema, verifique os documentos antes de abrir um novo problema ou visite nossa discórdia para nos informar!
Gymshark UK, Udacity, Tudn, NHS England
Para personalização, você precisa criar um arquivo open-next.config.ts no mesmo local do seu next.config.js e exportar um objeto padrão que satisfaz a interface OpenNextConfig . É possível não ter um arquivo open-next.config.ts, a configuração padrão será aplicada automaticamente.
OpenNext pode ser executado no modo de depuração, configurando a variável de ambiente OPEN_NEXT_DEBUG=true antes da sua construção.
Isso produzirá muitos logs adicionais para o console. Isso também desabilita a Minificação no Esbuild e adicione mapas de origem à saída. Isso pode resultar em código que pode ser de até 2-3x maior que a construção da produção. Não habilite isso na produção.
Você pode ler mais sobre a configuração nos documentos
Além dos lançamentos padrão do NPM, também publicamos automaticamente pacotes de prerelease em empurrões de filial (usando pkg.pr.new ):
https://pkg.pr.new/@opennextjs/aws@main : Atualizado a cada empurrão para a filial main , esse pré -lançamento contém a versão mais atualizada até agora (razoavelmente) do pacote.https://pkg.pr.new/@opennextjs/aws@experimental Atualizado a cada empurrão para o ramo experimental , esse pré -lançamento contém a versão experimental mais recente do pacote (contendo recursos que desejamos testar/experimentar antes de se comprometer).Que você pode simplesmente instalar diretamente com o gerenciador de pacotes de escolha, por exemplo:
npm i https://pkg.pr.new/@opennextjs/aws@main Para executar OpenNext localmente:
Clone este repositório.
Construa open-next :
cd packages/open-next
pnpm build Execute open-next no modo de relógio:
pnpm dev Agora, você pode fazer alterações no open-next e criar seu aplicativo Next.js para testar as alterações.
cd path/to/my/nextjs/app
path/to/opennextjs-aws/packages/open-next/dist/index.js buildO OpenNext fornece uma função mais quente que pode ser usada para reduzir o início do frio.
No Lambda, existem vários cenários em que um Lambda desencadeará um começo frio, mesmo se você tiver alguma instância aquecida. Por exemplo, se você tiver mais solicitações do que instâncias quentes, terá um começo frio. Além disso, o NextJS é preguiçoso, carregue as rotas; portanto, mesmo se você atingir uma instância quente, essa rota específica pode não ter sido carregada ainda.
Somos gratos pelos projetos que inspiram o OpenNext e as incríveis ferramentas e bibliotecas desenvolvidas pela comunidade:
Shoutout especial para @khuezy e @conico974 por suas excelentes contribuições para o projeto.
Mantido por SST. Junte -se à nossa comunidade: Discord | YouTube | Twitter