Utilisez ces bibliothèques et utilitaires pour créer des programmes CLI modernes avec toutes les fonctionnalités dont vous avez besoin.
Une interface de ligne de commande (CLI) est un moyen d'interagir avec un programme informatique ou un système d'exploitation à l'aide de commandes textuelles. Un outil CLI est un programme utilitaire que vous pouvez exécuter à partir d'une ligne de commande. Les outils CLI prennent généralement des commandes textuelles de l'utilisateur et exécutent des tâches spécifiques en fonction des commandes.
Les outils CLI de haute qualité doivent prendre en charge un large éventail de fonctionnalités. Ils peuvent analyser les arguments de ligne de commande et générer une aide à l'utilisation pour fournir un retour visuel, entre autres fonctionnalités.
Il existe plusieurs packages Node.js qui peuvent vous aider à créer rapidement des outils CLI, offrant un large éventail de fonctionnalités et de flexibilité. Ici, vous allez explorer certains des meilleurs packages Node.js pour créer des outils CLI et découvrir leurs principales fonctionnalités.
Commander est un package Node.js permettant de créer des interfaces de ligne de commande. Il fournit une API pour définir des commandes, des options et des arguments, ce qui facilite la création d'outils CLI.
Commander s'occupe d'analyser les arguments en options et en arguments de ligne de commande. De plus, il affiche les erreurs pour les problèmes et les options non reconnues et génère automatiquement une aide à l'utilisation (documentation CLI).
Pour installer Commander en tant que dépendance, exécutez cette commande :
npm installer le commandant
Voici un exemple d'utilisation de Commander dans une application Node.js :
// index.js
constante { Commande } = exiger("le commandant");// création d'une instance de commande
constante programme = nouveau Commande();// outil de création
programme
.nom("Math-util")
.description("Un outil CLI pour effectuer des fonctions mathématiques simples")
.version("1.0.0");// ajout de commande
programme
.commande("ajouter")
.description("Ajouter deux nombres")
.argument("" , "premier numéro")
.argument("" , "deuxième numéro")
.action((un B) => {
console.enregistrer(parseInt(a) + parseInt(b));
});
programme.parser();
L'exemple ci-dessus est un outil CLI pour effectuer des fonctions mathématiques simples. Le bloc de code ci-dessus a implémenté la fonctionnalité "ajouter" pour l'outil CLI à l'aide des méthodes de commander.js.
Vous pouvez utiliser l'outil CLI ci-dessus en exécutant cette commande dans votre terminal :
index de nœud ajouter 2 2
Vous pouvez également afficher l'aide générée automatiquement pour l'outil CLI en exécutant cette commande :
nœud cli -h
Avec le package Commander.js, vous pouvez créer des outils CLI complets et fonctionnels avec une documentation prête à l'emploi à l'aide de commandes simples.
Inquirer.js est un package Node.js permettant de créer des interfaces utilisateur interactives en ligne de commande. Il fournit un ensemble de composants d'interface utilisateur, tels que des invites, des listes et des cases à cocher, ce qui facilite la création d'outils CLI pouvant interagir avec l'utilisateur.
Pour installer Inquirer en tant que dépendance, exécutez cette commande :
npm installer enquêteur
Voici un exemple d'utilisation de Inquirer.js :
// index.js
importer enquêteur depuis"enquêteur";
enquêteur
.rapide([
{
taper: "saisir",
nom: "nom",
message: "Quel est ton nom?",
},
])
.alors((réponses) => {
console.enregistrer(`Bonjour ${answers.name}`);
});
Cet exemple utilise Inquirer.js pour prendre l'entrée de l'utilisateur du terminal et consigne un message disant bonjour à l'utilisateur.
Inquirer.js ne prend pas en charge le CommonJS système de modules. Vous devez utiliser le système de modules ES6 ou rétrograder le package vers la version 8.0.0.
Inquirer.js fournit de nombreuses options de personnalisation pour les invites, y compris les choix, la validation et les valeurs par défaut, ce qui le rend idéal pour créer des outils CLI interactifs qui peuvent interagir avec l'utilisateur.
Chalk est un package Node.js qui fournit un moyen simple d'ajouter des couleurs à la sortie du terminal, ce qui facilite la création d'outils CLI lisibles et attrayants.
Il offre une grande flexibilité dans la définition des couleurs et des styles de texte. Cependant, vous ne pouvez pas utiliser Chalk de manière isolée pour créer des outils CLI; vous devez l'utiliser avec des packages tels que Commander et Inquirer.js.
Pour installer Chalk en tant que dépendance, exécutez cette commande :
npm installer craie
Voici un exemple d'utilisation de Chalk pour ajouter des couleurs à la sortie de la console :
importer craie depuis"craie";
console.log (chalk.blue("Bonjour le monde!"));
console.enregistrer(craie.rouge.gras("Avertissement"));
console.enregistrer(craie.blanc.italique("succès"));
console.enregistrer(
craie.jaune.bgBlue("Cetexteaunjaunepremier planetbleuarrière-plan")
);
Chalk fournit de nombreuses autres méthodes pour définir les couleurs et les styles, y compris souligner, barré, diverses teintes de couleurs d'arrière-plan et bien d'autres.
Chalk ne prend pas en charge le système de modules CommonJS. Vous devez utiliser le système de modules ES6 ou rétrograder le package vers la version 4.0.0.
Chalk est un excellent package pour rendre vos outils CLI plus attrayants et lisibles. De plus, vous pouvez facilement l'intégrer dans votre code existant sans configuration complexe.
Node Spinner est un package Node.js qui fournit un moyen simple d'afficher une animation de spinner dans vos outils CLI. Vous pouvez utiliser ce package pour indiquer qu'un processus de longue durée est en cours et indiquer visuellement à l'utilisateur que l'outil fonctionne toujours.
Pour installer Node Spinner en tant que dépendance, exécutez cette commande :
npm installer cli-spinner
Voici un exemple d'utilisation de Node Spinner pour afficher une animation de spinner :
constante Tourneur = exiger("cli-spinner").Fileur;
constante fileuse = nouveau Fileur("traitement... %s");
spinner.setSpinnerString("|/-\\\\");
fileur.commencer();setTimeout(() => {
spinner.text = "Tâche terminée.";
setTimeout(() => {
fileur.arrêt();
}, 500);
}, 5000);
Ce code utilise la bibliothèque pour afficher un spinner jusqu'à ce qu'un processus se termine. Le code simule une opération qui dure 5 secondes en utilisant setTimeout. À la fin du temps, il change le texte affiché de « traitement... » à « Tâche terminée ». et arrête le spinner 0,5 seconde plus tard.
Node Spinner fournit une gamme d'options de personnalisation, telles que la modification des styles et du texte du spinner. Il prend également en charge plusieurs spinners, vous permettant d'afficher différentes animations pour différentes parties de votre outil CLI.
Figlet est un package Node.js qui fournit un moyen simple de créer de l'art ASCII à partir de texte.
Pour installer figlet en tant que dépendance, exécutez cette commande :
npm installer figue
Voici un exemple d'utilisation de figlet pour générer de l'art ASCII :
constante figlette = exiger("figlet");
figue ("Bonjour le monde!!", (err, données) => {
si (erreur) {
console.enregistrer("Désolé, quelque chose s'est mal passé");
console.dir (erreur);
retour;
}
console.log (données);
});
L'exemple ci-dessus crée un art ASCII avec la chaîne "Hello World !!" en utilisant Figlet et le connecte à la console.
L'exécution de cet exemple devrait produire le résultat suivant :
Figlet fournit de nombreux styles de police que vous pouvez utiliser pour personnaliser l'apparence de votre art ASCII. Vous pouvez spécifier un style de police en passant un objet options au figue fonction.
Par exemple:
figue ("Bonjour le monde!!", { Police de caractère: "Cloche" }, (err, données) => {})
L'utilisation de Figlet dans votre outil CLI ajoute un intérêt visuel à vos outils et les rend plus attrayants pour vos utilisateurs.
Lorsque vous choisissez des packages pour votre outil CLI, vous devez tenir compte de vos besoins et sélectionner les packages qui fournissent les fonctionnalités, le style et la compatibilité qui y répondent.
L'écosystème Node.js fournit divers packages capables d'analyser les arguments de ligne de commande, de créer une interface utilisateur de ligne de commande, d'afficher du texte stylisé, etc. Tirer parti de la bonne combinaison vous permettra de créer des outils CLI à la fois hautement fonctionnels et conviviaux.