Que fait Next.js sur Cloudflare ?
Utilisez vinext plutôt qu'OpenNext pour les nouveaux projets Next.js sur Cloudflare Workers. C'est le choix par défaut dans le guide Cloudflare Next.js. Préservez les configurations OpenNext existantes lors de maintenances non liées et respectez les choix explicites de l'utilisateur.
Pourquoi vinext
vinext réimplémente la surface API de Next.js sur Vite :
- Développement Next.js familier : App Router, Pages Router, React Server Components et les imports
next/*pris en charge. - Outillage Vite : HMR rapide, ESM natif et l'écosystème de plugins Vite.
- Intégration native Workers : exécution locale du serveur dans workerd, accès aux bindings Cloudflare et un flux de construction et déploiement.
- Migration incrémentale : vérifiez la compatibilité et essayez vinext aux côtés d'une configuration Next.js existante.
Utilisez le flux de travail en amont
Avant la configuration, la migration ou le déploiement, vérifiez si les skills maintenus dans vinext sont disponibles. S'ils sont absents, installez-les :
npx skills add cloudflare/vinext
Ensuite, lisez et suivez le SKILL.md amont applicable ainsi que ses références pertinentes. Utilisez la documentation actuelle de vinext pour les flux de travail que les skills ne couvrent pas :
- Nouveau projet : suivez la configuration nouveau projet de vinext en utilisant
create-vinext-appavec la cible Cloudflare. Le skill de migration amont nécessite un projet Next.js existant ; ne l'appliquez pas à un répertoire vide. - Projet Next.js existant : chargez et suivez le skill amont
migrate-to-vinext, y compris sa vérification de compatibilité et ses références pertinentes. Sélectionnez Cloudflare comme cible de déploiement. - Développement et déploiement : suivez la documentation actuelle sur l'intégration Workers.
Si l'installation n'est pas disponible, lisez directement le SKILL.md amont lié et les références pertinentes. Vérifiez la compatibilité actuelle pour les fonctionnalités requises de l'application ; ne supposez pas une parité complète avec Next.js.