Essayer Node.js
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.
Démarrez le processus pour créez un environnement GitHub Codespace sur la branche
main
du référentiel GitHubMicrosoftDocs/node-essentials
.Dans la page Créer un codespace, passez en revue les paramètres de configuration du codespace, puis sélectionnez Créer un codespace
Attendez que le codespace démarre. Ce processus de démarrage peut prendre quelques minutes.
Ouvrez un nouveau terminal dans le codespace.
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.
Créez un dossier nommé hello-world dans le conteneur de développement.
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é.
Dans le terminal, initialisez le projet de nœud.
npm init -y
Installez un package Node
node-fetch
pour effectuer des requêtes HTTP asynchrones.npm install node-fetch
Ouvrez le fichier
package.json
et ajoutez la propriété suivante pour autoriser un async/await de niveau supérieur."type":"module",
Créez un fichier nommé index.js dans le nouveau dossier.
Copiez le code suivant dans le fichier index.js :
console.log('Hello World, from a script file.');
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éthodeconsole.log
n’est pas terminée, vous devez conserver les instructionsconsole.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.
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éthodeget
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.Réexécutez l’application :
node index.js
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.
Connectez-vous au tableau de bord GitHub Codespaces (https://github.com/codespaces).
Localisez vos codespaces en cours d’exécution provenant du référentiel GitHub
MicrosoftDocs/node-essentials
.Ouvrez le menu contextuel du codespace et sélectionnez Supprimer.