Node.js - 5.5 Explorer le code source d'Express

Express est un projet open source, et son code est disponible sur GitHub. Cette leçon montre comment lire une fonction interne, ici send, pour comprendre ce qu'elle fait en arrière-plan. Elle simplifie ensuite la création du serveur grâce à app.listen.

Lire la fonction send

Dans le dépôt GitHub d'Express, le dossier lib contient les fichiers du framework. En recherchant la fonction send, on découvre comment elle prépare la réponse. Elle vérifie d'abord si l'on utilise des versions obsolètes de la fonction.

Pour une chaîne de caractères, elle définit le type de contenu en HTML, mais seulement si cet en-tête n'est pas déjà défini. Pour d'autres types de données, comme un nombre ou un booléen, elle choisit un autre type de contenu, comme du JSON ou des données binaires.

Simplifier le serveur avec app.listen

Au lieu de créer un serveur HTTP à part, on peut appeler listen directement sur l'application Express. Dans le code d'Express, la fonction listen crée elle-même le serveur HTTP, puis l'écoute.

Le module http n'est donc plus nécessaire, et son import peut être supprimé.

const app = express();
app.listen(<port>);

Vérifier le résultat

Après avoir redémarré le serveur et rechargé la page, l'application fonctionne toujours. La suite du module montre comment gérer plusieurs routes.

En résumé

Le code d'Express est open source et se lit sur GitHub. La fonction send gère le type de contenu de la réponse. app.listen crée le serveur, ce qui rend le code plus court.

Points clés

  • Le code source d'Express est disponible sur GitHub.
  • La fonction send prépare la réponse envoyée au navigateur.
  • Le type de contenu dépend de la donnée envoyée.
  • app.listen crée le serveur HTTP et l'écoute.
  • Le module http peut être supprimé du code.

Questions fréquentes

Faut-il lire tout le code d'Express ?

Non. La vidéo précise qu'il suffit de regarder certaines fonctions pour comprendre leur comportement.

Que fait la fonction send ?

Elle prépare la réponse, et définit le type de contenu selon la donnée envoyée.

Pourquoi utiliser app.listen ?

Elle crée le serveur HTTP et l'écoute, ce qui évite de le faire manuellement.