Node.js exécute JavaScript hors du navigateur ; Next.js est un framework React qui tourne par-dessus. Découvrez la pile couche par couche, un même endpoint écrit dans les deux, et quand utiliser lequel.
Node.js est un runtime : le programme qui exécute JavaScript sur un serveur ou sur votre ordinateur. Next.js est un framework React pour créer des sites web, et ses outils de build comme son serveur tournent sur Node.js. Le choix est donc rarement l'un ou l'autre. Toute app Next.js a besoin de Node.js en dessous, alors qu'une app Node.js n'a pas besoin de Next.js.
Runtime contre framework
Le moyen le plus rapide de comprendre la relation est de regarder les couches que traverse une requête. Cliquez sur chaque couche d'une app Next.js typique ci-dessous pour voir son rôle et qui en est responsable.
Les deux, dans certaines limites. Il rend des pages React sur le serveur, envoie les parties interactives au navigateur et vous permet d'écrire des Route Handlers pour des endpoints JSON. Il n'est pas conçu pour être un backend complet au service de nombreux autres clients.
Il vous faut Node.js installé et une certaine aisance avec npm et le terminal. Une connaissance approfondie du module node:http n'est pas nécessaire, car Next.js gère le serveur pour vous.
L'option de route runtime indique désormais 'nodejs' par défaut et 'edge' comme obsolète. La documentation demande de retirer l'export runtime des fichiers de route, donc le nouveau code doit partir du principe que c'est Node.js.
La documentation de déploiement de Next.js cite Bun comme adaptateur vérifié et Deno Deploy parmi d'autres plateformes disposant de leur propre intégration. La prise en charge des fonctionnalités varie hors du serveur Node.js, consultez donc les notes de la plateforme.
Plus proche que Node.js, puisque les deux sont des librairies au-dessus de Node.js. Express est une boîte à outils minimale de serveur HTTP ; Next.js est un framework web complet construit autour de React.
N'utilise que le module intégré node:http. Vous décidez vous-même du port, des en-têtes et du routage. Lancez-le avec node server.mjs.
Le chemin du fichier devient /api/hello et Next.js fait tourner le serveur. Les chemins inconnus reçoivent automatiquement la page 404 du framework.
Chaque script lance un processus Node.js : le serveur de développement, le build de production et le serveur de production.
Le visiteur
Reçoit le HTML que Next.js a rendu sur le serveur, puis ne charge du JavaScript que pour les Client Components afin que boutons et formulaires fonctionnent.
Vous
Pages, layouts et Route Handlers dans le dossier app. C'est du React plus quelques conventions Next.js, écrit en JavaScript ou en TypeScript.
Le framework
Associe les dossiers aux URL, rend les Server Components, regroupe le code client et fait tourner le serveur de production lancé par next start.
Le runtime
Exécute tout le JavaScript ci-dessus sur le serveur : le build, le serveur de développement et chaque requête en production.
Votre hébergeur
macOS, Windows, Linux ou un conteneur. Next.js indique macOS, Windows (WSL compris) et Linux comme pris en charge pour le développement.
Choisir une couche
Responsable : {v}
Couche {n} sur {v}, de haut en bas
Commencer gratuitement · Sans carte bancaire