Node.js - 3.14 Récapitulatif du module Node.js
Ce récapitulatif reprend les notions clés du module. Il rappelle le fonctionnement du web entre le navigateur et le serveur. Il revient aussi sur la boucle d'événements de Node.js, qui conditionne toute la manière d'écrire le code.
Le fonctionnement du web
Le navigateur envoie une demande au serveur. Le serveur peut consulter une base de données ou des fichiers, puis renvoie une réponse, par exemple une page HTML ou des données. Le navigateur affiche ensuite cette réponse.
La boucle d'événements
Node.js exécute le code de manière non bloquante. Il enregistre des rappels et des écouteurs d'événements, puis les exécute lorsque la tâche correspondante est terminée. Le programme reste ainsi disponible pour traiter de nouvelles demandes.
Une conséquence importante : une ligne de code peut ne pas s'exécuter immédiatement, par exemple si elle se trouve dans un écouteur d'événements.
Requêtes, réponses et modules
Les données d'une requête arrivent par morceaux, qu'il faut analyser avec les flux et les tampons. Il faut aussi éviter d'envoyer deux réponses à une même demande.
Un fichier peut importer un module de base, un fichier local avec un chemin relatif, ou un module tiers. L'export permet de rendre disponible une valeur ou une fonction pour un autre fichier, avec module.exports.
En résumé
Le navigateur et le serveur échangent des demandes et des réponses. Node.js repose sur une boucle d'événements non bloquante. Il faut donc garder en tête l'ordre d'exécution, et ne jamais envoyer deux réponses pour une même demande.
Points clés
- Le client envoie une demande, et le serveur renvoie une réponse.
- Node.js exécute le code de manière non bloquante.
- La boucle d'événements attend en continu de nouveaux événements.
- Les données d'une requête arrivent par morceaux qu'il faut analyser.
- On ne doit jamais envoyer deux réponses pour une même demande.
Questions fréquentes
Pourquoi une ligne de code peut-elle s'exécuter plus tard ?
Node.js ne bloque pas l'exécution. Le code d'un écouteur d'événements s'exécute lorsque l'événement se produit.
Qu'est-ce qu'un module tiers ?
C'est un paquet externe, installé dans le projet, que l'on importe comme un module de base. La vidéo indique qu'il sera utilisé plus tard.
À quoi sert l'export ?
Il permet d'utiliser une valeur ou une fonction depuis un autre fichier, par exemple avec module.exports.