Essayer Node.js

Effectué

Dans cette unité, vous créez et exécutez un script Node.js.

Démarrer votre conteneur de développement dans un navigateur

Un environnement de conteneur de développement est disponible avec toutes les dépendances requises pour effectuer chaque exercice de ce projet. Vous pouvez exécuter le conteneur de développement dans GitHub Codespaces ou localement avec Visual Studio Code.

GitHub Codespaces exécute un conteneur de développement géré par GitHub avec Visual Studio Code pour le web comme interface utilisateur. Pour l’environnement de développement le plus simple, nous utilisons GitHub Codespaces pour que vous disposiez des outils et des dépendances du développeur appropriés préinstallés pour exécuter ce module de formation.

Important

Tous les comptes GitHub peuvent utiliser codespaces pendant jusqu’à 60 heures gratuites chaque mois avec 2 instances principales. Pour plus d’informations, consultez Le stockage mensuel inclus et les heures de cœur GitHub Codespaces.

  1. Démarrez le processus pour créez un environnement GitHub Codespace sur la branche main du référentiel GitHub MicrosoftDocs/node-essentials.

  2. Dans la page Créer un codespace, passez en revue les paramètres de configuration du codespace, puis sélectionnez Créer un codespace

    Capture d’écran de l’écran de confirmation avant de créer un nouveau codespace.

  3. Attendez que le codespace démarre. Ce processus de démarrage peut prendre quelques minutes.

  4. Ouvrez un nouveau terminal dans le codespace.

    Conseil

    Vous pouvez utiliser le menu principal pour accéder à l’option de menu Terminal, puis sélectionner l’option Nouveau terminal.

    Capture d’écran de l’option de menu codespaces pour ouvrir un nouveau terminal.

REPL Node.js

Node.js dispose d’un mode de boucle de lecture/évaluation (REPL) intégré qui est utile pour l’évaluation et l’expérimentation rapides du code. Le mode REPL est un environnement de console interactif dans lequel vous pouvez entrer du code JavaScript. Node.js interprète ce code, l’exécute et affiche la sortie.

Le mode REPL Node.js fonctionne comme suit :

  • Read: lit et analyse le code JavaScript d’entrée de l’utilisateur (ou affiche une erreur si le code n’est pas valide).
  • Eval: évalue le code JavaScript entré.
  • Print: affiche les résultats calculés.
  • Loop: Effectue une boucle et attend que l’utilisateur entre une nouvelle commande (ou s’arrête si l’utilisateur entre Ctrl-c deux fois).

Pour démarrer le mode REPL, exécutez le node programme dans le terminal du conteneur de développement.

Remarque

Cliquez avec le bouton droit sur >Coller pour entrer une commande copiée dans Cloud Shell ou dans la console REPL.

node

L’environnement REPL s’ouvre. Vous devez voir l’invite REPL :

>

Entrez le code suivant dans la console REPL (cliquez avec le bouton droit sur >Coller) :

console.log('Hello World, from the REPL.')

Ce code imprime un message « Hello World, from the REPL. » dans la console REPL :

Hello World, from the REPL.

Pour quitter la console REPL, entrez deux fois Ctrl+C.

Créer un script Node.js

Node.js prend également en charge l’exécution de code à partir de fichiers.

  1. Créez un dossier nommé hello-world dans le conteneur de développement.

  2. Ouvrez le nouveau dossier dans un terminal en cliquant avec le bouton droit sur le nom du dossier, puis en sélectionnant Ouvrir dans le terminal intégré.

  3. Dans le terminal, initialisez le projet de nœud.

    npm init -y
    
  4. Installez un package Node node-fetch pour effectuer des requêtes HTTP asynchrones.

    npm install node-fetch
    
  5. Ouvrez le fichier package.json et ajoutez la propriété suivante pour autoriser un async/await de niveau supérieur.

    "type":"module",
    
  6. Créez un fichier nommé index.js dans le nouveau dossier.

  7. Copiez le code suivant dans le fichier index.js :

    console.log('Hello World, from a script file.');
    
  8. Dans le terminal, entrez la commande node suivie du nom du fichier index.js :

    node index.js
    

    La sortie suivante s’affiche :

     Hello World, from a script file.
    

Vous avez maintenant exécuté votre premier code JavaScript Node.js.

  • Question : Est-ce que console.log est synchrone ou asynchrone ?
  • Réponse : La méthode console.log apparaît dans le développement pour s’exécuter immédiatement et est donc supposée être asynchrone. Il n’y a aucune garantie de comportement asynchrone pour cette méthode, donc elle doit être considérée comme synchrone. Étant donné que l’exécution du code peut se bloquer tant que la méthode console.log n’est pas terminée, vous devez conserver les instructions console.log dans votre code en production.

Ajouter une fonction asynchrone de niveau supérieur

Le code asynchrone de niveau supérieur suivant demande une source de données HTTP JSON, puis l’affiche.

  1. Ajoutez le code suivant au fichier index.js pour créer une requête HTTP asynchrone :

    import fetch from 'node-fetch';
    
    console.log(`start`);
    try {
      const res = await fetch('https://github.com/MicrosoftDocs/node-essentials');
    
      console.log('statusCode:', res.status);
    } catch (error) {
      console.log(`error: ${error}`);
    }
    console.log(`end`);
    

    La méthode https.get effectue une requête HTTP sur le site web Node.js et retourne la réponse. La méthode get prend deux paramètres : l’URL à demander et une fonction de rappel qui est appelée lorsque la réponse est reçue. La fonction de rappel prend un seul paramètre, res, qui est l’objet de réponse.

  2. Réexécutez l’application :

    node index.js
    
  3. L’ordre des journaux de la console est le suivant :

    start
    statusCode: 200
    end
    

Dans la sortie, vous pouvez voir la boucle d’événements en action. La méthode HTTP est appelée et placée dans la file d’attente de tâches, en attendant qu’elle retourne. La boucle d’événements prend la tâche suivante, qui est la méthode console.log.

Arrêter votre conteneur de développement

La suppression de l’environnement GitHub Codespaces vous permet d’optimiser le nombre d’heures gratuites par cœur que vous obtenez pour votre compte.

Important

Pour plus d’informations sur les droits de votre compte GitHub, consultez GitHub Codespaces mensuel inclus stockage et heures principales.

  1. Connectez-vous au tableau de bord GitHub Codespaces (https://github.com/codespaces).

  2. Localisez vos codespaces en cours d’exécution provenant du référentiel GitHub MicrosoftDocs/node-essentials.

    Capture d’écran de tous les Codespaces en cours d’exécution, avec leur état et leurs modèles.

  3. Ouvrez le menu contextuel du codespace et sélectionnez Supprimer.

    Capture d’écran du menu contextuel d’un codespace avec l’option Supprimer mise en évidence.