
OpenNext toma la salida de construcción de Next.js y la convierte en paquetes que se pueden implementar en una variedad de entornos. Nativamente OpenNext tiene soporte para AWS Lambda y el servidor Node.js clásico.
OpenNext tiene como objetivo admitir todas las características de Next.js 14. Algunas características son trabajo en progreso. Si se encuentra con algún problema, asegúrese de consultar los documentos primero antes de abrir un nuevo problema o visitar nuestra discordia para informarnos.
Gymshark UK, Udacity, Tudn, NHS Inglaterra
Para la personalización, debe crear un archivo open-next.config.ts en el mismo lugar que su next.config.js , y exportar un objeto predeterminado que satisface la interfaz OpenNextConfig . Es posible no tener un archivo Open-next.config.ts, la configuración predeterminada se aplicará automáticamente.
OpenNext se puede ejecutar en modo de depuración configurando la variable de entorno OPEN_NEXT_DEBUG=true antes de su compilación.
Esto generará muchos registros adicionales a la consola. Esto también deshabilita minificar en ESBuild y agregar mapas de origen a la salida. Esto puede dar lugar a un código que podría ser de hasta 2-3x más grande que la construcción de producción. No habilite esto en producción.
Puede leer más sobre la configuración en los documentos
Además de las versiones estándar de NPM, también publicamos automáticamente los paquetes de prevenimiento en los empujes de rama (usando pkg.pr.new ):
https://pkg.pr.new/@opennextjs/aws@main : actualizado con cada impulso a la rama main , esta prerelebradora contiene la versión más actualizada (razonablemente) estable del paquete.https://pkg.pr.new/@opennextjs/aws@experimental Actualizado con cada impulso a la rama experimental , esta prereleberación contiene la última versión experimental del paquete (que contiene características que queremos probar/experimentar antes de comprometernos).Que simplemente puede instalar directamente con su administrador de paquetes de elección, por ejemplo:
npm i https://pkg.pr.new/@opennextjs/aws@main Para ejecutar OpenNext localmente:
Clon este repositorio.
Construye open-next :
cd packages/open-next
pnpm build Ejecute open-next en modo de reloj:
pnpm dev Ahora, puede hacer cambios en open-next y construir su aplicación Next.js para probar los cambios.
cd path/to/my/nextjs/app
path/to/opennextjs-aws/packages/open-next/dist/index.js buildOpenNext le proporciona una función más cálida que se puede usar para reducir el arranque en frío.
En Lambda, hay múltiples escenarios en los que una lambda activará un comienzo en frío incluso si tiene alguna instancia calentada. Por ejemplo, si tiene más solicitudes que instancias cálidas, comenzará. También NextJS Lazy Cargue las rutas, por lo que incluso si llega a una instancia cálida, esta ruta específica podría no haberse cargado todavía.
Estamos agradecidos por los proyectos que inspiraron a OpenNext y las increíbles herramientas y bibliotecas desarrolladas por la comunidad:
Shoutout especial a @khuezy y @conico974 por sus excelentes contribuciones al proyecto.
Mantenido por SST. Únete a nuestra comunidad: Discord | YouTube | Gorjeo