Commandes
Fait partie de la section Les bases de Node.js du Journey Node.js de Coddy. Leçon 4 sur 33.
L’outil effectuera plusieurs opérations, et le premier mot indique laquelle.
La déstructuration récupère le premier mot et rassemble les autres dans un tableau :
// node calc.js double 4
const [action, ...rest] = process.argv.slice(2);
if (action === 'double') {
console.log(Number(rest[0]) * 2);
}action est le premier mot et rest contient tous les mots qui le suivent. rest.join(' ') rassemble ces mots en une seule chaîne. Une suite de if et de else if détermine quoi faire. Un dernier else intercepte tous les mots que tu n’avais pas prévus, y compris les fautes de frappe.
Défi
FacileTon outil va effectuer plusieurs tâches, et le premier mot après node notes.js indique laquelle. Il connaît maintenant deux commandes, add et list, ainsi qu’une réponse pour tout mot qu’il ne connaît pas.
- Dans
notes.js, remplace les deux lignes de départ. Sépare les mots qui suiventnode notes.jsen deux parties : la commande, qui est le premier mot, et le reste, qui comprend tous les autres mots. - Choisis quoi faire à l’aide d’une chaîne
if,else if,elseselon la commande. Chaque commande affiche exactement une ligne :addafficheAdding:suivi du reste des mots, séparés par des espaces.node notes.js add Buy milkafficheAdding: Buy milk.listafficheNo notes yet. Les notes ne sont encore enregistrées nulle part ; cela viendra au chapitre 3.- Tout autre premier mot affiche
Unknown command:suivi uniquement de ce premier mot.node notes.js remove 3afficheUnknown command: remove, sans le3.
- Rien d’autre ne doit s’afficher. Si la ligne de la leçon précédente qui affiche
Adding:reste en dehors de la chaîne, elle s’exécute pour chaque commande,listaffiche deux lignes et les vérifications échouent.
Les trois cas se terminent normalement, avec le code de sortie 0. La leçon suivante transformera les commandes inconnues en erreurs.
Essaie : saisis chacun de ces éléments dans la zone après $ node notes.js, puis appuie sur Entrée.
add Buy milkafficheAdding: Buy milk.listafficheNo notes yet.remove 3afficheUnknown command: remove.List, avec un L majuscule, afficheUnknown command: List. JavaScript compare le texte lettre par lettre, en tenant compte des majuscules :Listn’est donc paslist.
Essayez vous-même
// Votre outil de prise de notes commence ici.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);
Toutes les leçons de Les bases de Node.js
1Exécuter JavaScript avec Node
Bonjour, NodeLire la commandeArguments de ligne de commandeCommandes5Événements, entrées et packages
Écouter avant d’émettreÉmetteurs d’événementsLire les entréesEntraînez-vous par vous-même : Playground Express