
OpenNext prend la sortie de build Next.js et le convertit en packages qui peuvent être déployés dans une variété d'environnements. Native OpenNext a pris en charge AWS Lambda et Classic Node.js Server.
OpenNext vise à prendre en charge toutes les fonctionnalités Next.js 14. Certaines fonctionnalités sont en cours de travail. Si vous rencontrez des problèmes, assurez-vous de vérifier les documents avant d'ouvrir un nouveau problème ou de visiter notre discorde pour nous le faire savoir!
Gymshark UK, Udacity, Tudn, NHS England
Pour la personnalisation, vous devez créer un fichier open-next.config.ts au même endroit que votre next.config.js , et exporter un objet par défaut qui satisfait l'interface OpenNextConfig . Il est possible de ne pas avoir de fichier ouvert-next.config.ts, la configuration par défaut sera ensuite appliquée automatiquement.
OpenNext peut être exécuté en mode de débogage en définissant la variable d'environnement OPEN_NEXT_DEBUG=true avant votre version.
Cela publiera de nombreux journaux supplémentaires à la console. Cela désactivait également la minimisation dans Esbuild et ajoute des cartes source à la sortie. Cela peut entraîner un code qui pourrait être jusqu'à 2-3x plus grand que la construction de production. Ne permettez pas cela en production.
Vous pouvez en savoir plus sur la configuration dans les documents
Outre les versions NPM standard, nous publions également automatiquement des packages de préremease sur les poussées de branche (en utilisant pkg.pr.new ):
https://pkg.pr.new/@opennextjs/aws@main : mis à jour à chaque poussée vers la branche main , ce prérelease contient la version stable la plus à jour à ce jour (raisonnablement) du package.https://pkg.pr.new/@opennextjs/aws@experimental mis à jour à chaque poussée vers la branche experimental , cette prérélease contient la dernière version expérimentale du package (contenant des fonctionnalités sur lesquelles nous voulons tester / expérimenter avant de s'engager).Que vous pouvez simplement installer directement avec votre gestionnaire de packages de choix, par exemple:
npm i https://pkg.pr.new/@opennextjs/aws@main Pour exécuter OpenNext localement:
Cloner ce référentiel.
Construisez open-next :
cd packages/open-next
pnpm build Exécutez open-next en mode de montre:
pnpm dev Maintenant, vous pouvez apporter des modifications à open-next et créer votre application Next.js pour tester les modifications.
cd path/to/my/nextjs/app
path/to/opennextjs-aws/packages/open-next/dist/index.js buildOpenNext vous offre une fonction plus chaude qui peut être utilisée pour réduire le démarrage à froid.
Sur Lambda, il y a plusieurs scénarios où une Lambda déclenchera un démarrage à froid même si vous avez une instance réchauffée. Par exemple, si vous avez plus de demandes que des cas chaleureux, vous commencerez à froid. Aussi NextJS Lazy charge les itinéraires, donc même si vous touchez une instance chaleureuse, cette route spécifique n'a peut-être pas encore été chargée.
Nous sommes reconnaissants pour les projets qui ont inspiré OpenNext et les outils et bibliothèques incroyables développés par la communauté:
Course spéciale à @khuezy et @ conico974 pour leurs contributions exceptionnelles au projet.
Maintenu par SST. Rejoignez notre communauté: Discord | YouTube | Gazouillement