Comment analyser les arguments de ligne de commande dans le nœud.js

Comment analyser les arguments de ligne de commande dans le nœud.js

Nœud.JS est un framework d'E / S asynchrone basé sur des événements qui utilise le moteur JavaScript V8 de Google. Nous l'utilisons pour développer des applications qui utilisent JavaScript à la fois sur les côtés du serveur et du client. Nœud.Les applications JS sont écrites en javascript.

Nœud.Les applications JS acceptent également les arguments en ligne de commande comme tout autre langage de programmation. Par défaut, nœud.JS est capable de gérer vos arguments, mais si vous voulez des fonctionnalités supplémentaires, vous pouvez utiliser des outils et des packages tiers comme yargs et minimiste. Dans cet article, nous verrons comment vous pouvez analyser les arguments de ligne de commande dans le nœud.js en utilisant processus.argv, yargs, et minimiste.

Que sont les arguments de ligne de commande?

Un argument en ligne de commande est une chaîne d'informations ou de commandes supplémentaires qui sont transmises dans un programme tout en l'exécutant via l'interface de ligne de commande (CLI) d'un système d'exploitation. Ces arguments comprennent généralement des informations utilisées pour définir les valeurs de propriété ou de configuration pour une application.

En nœud.JS, tous les arguments en ligne de commande donnés au shell sont transmis au processus dans un tableau appelé «Valeurs d'argument (Argv).'Node ultérieur.JS utilise ce tableau pour chaque processus en cours d'exécution sous forme de processus.Argv ou vous pouvez dire que les arguments sont par défaut stockés dans le processus.argv.

Pourquoi utiliser les arguments de ligne de commande?

Les arguments en ligne de commande sont très flexibles car ils sont passés en tant que chaînes à votre programme et les types de données de chaîne peuvent facilement être convertis en d'autres types.

Il vous permet de transmettre des informations à une application avant qu'elle ne commence et vous pouvez également transmettre un nombre illimité d'arguments via la ligne de commande.

Quelle est l'exemple de syntaxe des arguments en ligne de commande?

Voici un exemple de syntaxe, à quoi ressemblent les arguments de la ligne de commande:

 [Runtime] [script_name] [Argument-1 Argument-2 Argument-3… Argument-n] 

Les arguments sont séparés par l'espace et l'exécution pourrait être quelque chose comme SH, Java, Node, etc.

Comment analyser les arguments de ligne de commande dans le nœud.js

Ici, nous verrons d'abord pour analyser les arguments en utilisant processus.argv et plus tard avec yargs et minimiste.

1. Analyser les arguments en utilisant le processus.argv

En utilisant processus.argv est le moyen le plus simple d'analyser les arguments dans le nœud.JS et vous n'avez pas besoin d'installer un package ou une bibliothèque supplémentaire pour cela. Vous venez de passer des arguments à un nœud.La demande JS et ces arguments sont gérés par processus.argv par défaut.

Il y a trois principaux éléments de processus.Artige Argv:

  • Tout d'abord, le chemin du système de fichiers pointant vers l'exécutable du nœud.
  • Deuxièmement le nom du fichier JavaScript qui est exécuté.
  • Troisièmement, le premier argument qui est passé par l'utilisateur.

Exemple - Nous rédigerons un script de nœud simple qui imprimera tous les arguments de ligne de commande transmis à l'application.

  • Créer un fichier nommé 'processargv.js ' et collez le code suivant. «utiliser strict»; pour (que j = 0; j '+ (processus.argv [j]));
    1234'utiliser strict'; pour (que j = 0; j < process.argv.length; j++) console.log(j + ' -> '+ (processus.argv [j]));

  • Maintenant, exécutez 'processargv.JS 'en utilisant la commande suivante en passant l'argument.
    Node processargv.js je suis nœud  

    Ici, nous passons trois arguments au fichier et en conséquence, vous verrez que «i», «am», «nœud» est stocké respectivement aux 2e, 3e et 4e index. Et la sortie ressemblera à ceci:

2. Passer des arguments en utilisant des yargs

Yargs est un nœud.Module JS qui peut vous aider à passer des arguments. Il vous permet de passer des arguments sous la forme de paires de valeurs clés et vous pouvez même accéder aux valeurs de l'argument plus tard dans le programme en utilisant les clés.

  • Installez le module Yargs à l'aide de cette commande.
    npm i yargs  
  • Enregistrez maintenant le code ci-dessous dans un fichier nommé 'Yargs.js ' Et lors de l'exécution du programme, nous fournirons des valeurs pour le nom et l'âge. «utiliser strict»; const args = require ('yargs').Argv; console.journal ('nom:' + args.nom); console.journal ('Âge:' + args.âge);
    123456«utiliser strict»; const args = require ('yargs').Argv; console.journal ('nom:' + args.nom); console.journal ('Âge:' + args.âge);

  • Pour exécuter la commande suivante, exécutez le code suivant dans votre invite. Nous passons les valeurs pour le nom et l'âge.
    Yargs de nœud.js --name = node --age = 15  

    La sortie ressemblera à ceci:

Pour comprendre des fonctionnalités plus avancées de yargs Visitez ce guide avancé.

3. Analyse des arguments utilisant un module minimiste

Une autre façon d'analyser les arguments en ligne de commande au nœud.Les applications JS sont en utilisant le module minimiste. Il analyse les arguments du processus.Argv Array puis le transfère en un tableau associatif facile à utiliser. Ce tableau associatif peut être utilisé pour accéder aux éléments à l'aide de noms d'index.

  • Installez le module minimaliste en utilisant cette commande.
    npm i minimiste  
  • Enregistrez maintenant le script suivant nommé 'minimiste.js '. Ici, nous utilisons la méthode Slice qui supprimera tous les éléments de tableau précédents à partir de l'index qui lui est transmis comme le paramètre. «utiliser strict»; const args = require ('minimiste') (processus.argv.tranche (2)); console.journal (args.je); console.journal (args.n);
    123456«utiliser strict»; const args = require ('minimiste') (processus.argv.tranche (2)); console.journal (args.i); console.journal (args.n);

  • En passant l'argument, nous pouvons également spécifier le caractère par lequel nous voulons accéder aux éléments. Ici, nous spécifierons «i» comme nom pour le deuxième index, puis «n» comme nom pour le troisième index. Comme ça:
    nœud minimiste.js -i nœud -n 15  

    La sortie ressemblera à ceci:

Mais minimiste n'a pas autant de fonctionnalités riches que yargs Vous pouvez toujours l'utiliser pour faciliter votre travail. Pour des informations plus détaillées sur la visite minimaliste ici.

Conclusion

L'analyse d'argument est un sujet simple et important si vous travaillez sur le nœud.js. Il existe plusieurs options disponibles pour faciliter votre travail. Alors choisissez en fonction de vos besoins si vous voulez des fonctionnalités riches et avancées, puis allez avec yargs Sinon, choisissez parmi le processus.argv et minimiste.