Gebruik deze bibliotheken en hulpprogramma's om moderne CLI-programma's te maken met alle toeters en bellen die je nodig hebt.

Een opdrachtregelinterface (CLI) is een manier om te communiceren met een computerprogramma of besturingssysteem met behulp van op tekst gebaseerde opdrachten. Een CLI-tool is een hulpprogramma dat u vanaf een opdrachtregel kunt uitvoeren. CLI-tools nemen doorgaans op tekst gebaseerde opdrachten van de gebruiker en voeren specifieke taken uit op basis van de opdrachten.

Hoogwaardige CLI-tools moeten een breed scala aan functionaliteiten ondersteunen. Ze kunnen onder andere opdrachtregelargumenten ontleden en gebruikshulp genereren om visuele feedback te geven.

Er zijn verschillende Node.js-pakketten waarmee u snel CLI-tools kunt bouwen, die een breed scala aan functionaliteit en flexibiliteit bieden. Hier verken je enkele van de beste Node.js-pakketten voor het bouwen van CLI-tools en ontdek je hun belangrijkste functies.

Commander is een Node.js-pakket voor het bouwen van opdrachtregelinterfaces. Het biedt een API voor het definiëren van opdrachten, opties en argumenten, waardoor het eenvoudig wordt om CLI-tools te maken.

instagram viewer

Commander zorgt voor het ontleden van argumenten in opties en opdrachtregelargumenten. Bovendien geeft het fouten weer voor problemen en niet-herkende opties en genereert het automatisch gebruikshulp (CLI-documentatie).

Voer deze opdracht uit om Commander als een afhankelijkheid te installeren:

npm installeren commandant

Hier is een voorbeeld van het gebruik van Commander in een Node.js-app:

// index.js
const { Commando } = vereisen("commandant");

// een opdrachtinstantie maken
const programma = nieuw Commando();

// gereedschap maken
programma
.naam("Wiskunde-hulpprogramma")
.beschrijving("Een CLI-tool voor het uitvoeren van eenvoudige wiskundige functies")
.versie("1.0.0");

// opdracht toevoegen
programma
.commando("toevoegen")
.beschrijving("Voeg twee cijfers toe")
.argument("", "eerste nummer")
.argument("", "tweede nummer")
.actie((een, b) => {
troosten.log(ontleedInt(een) + ontleedInt(B));
});

programma.ontleed();

Het bovenstaande voorbeeld is een CLI-tool voor het uitvoeren van eenvoudige wiskundige functies. Het bovenstaande codeblok implementeerde de "add" -functionaliteit voor de CLI-tool met behulp van methoden van commander.js.

U kunt de bovenstaande CLI-tool gebruiken door deze opdracht in uw terminal uit te voeren:

knooppunt index optellen 2 2

U kunt ook de automatisch gegenereerde Help voor de CLI-tool bekijken door deze opdracht uit te voeren:

knooppunt cli -h

Met het Commander.js-pakket kunt u volledig uitgeruste en functionele CLI-tools met documentatie uit de doos bouwen met behulp van eenvoudige opdrachten.

Inquirer.js is een Node.js-pakket voor het bouwen van interactieve opdrachtregelgebruikersinterfaces. Het biedt een set UI-componenten, zoals prompts, lijsten en selectievakjes, waardoor het eenvoudig wordt om CLI-tools te bouwen die met de gebruiker kunnen communiceren.

Voer deze opdracht uit om Inquirer als een afhankelijkheid te installeren:

npm installeren vragensteller

Hier is een voorbeeld van het gebruik van Inquirer.js:

// index.js
importeren vragensteller van"onderzoeker";

vragensteller
.snel([
{
type: "invoer",
naam: "naam",
bericht: "Hoe heet je?",
},
])
.Dan((antwoorden) => {
troosten.log('Hallo ${answers.name}`);
});

In dit voorbeeld wordt Inquirer.js gebruikt om gebruikersinvoer van de terminal op te halen en wordt een bericht geregistreerd waarin de gebruiker gedag wordt gezegd.

Inquirer.js ondersteunt de CommonJS niet module systeem. U moet het ES6-modulesysteem gebruiken of het pakket downgraden naar versie 8.0.0.

Inquirer.js biedt veel aanpassingsopties voor prompts, waaronder keuzes, validatie en standaardwaarden, waardoor het ideaal is voor het bouwen van interactieve CLI-tools die kunnen communiceren met de gebruiker.

Chalk is een Node.js-pakket dat een eenvoudige manier biedt om kleuren toe te voegen aan terminaluitvoer, waardoor het maken van leesbare en aantrekkelijke CLI-tools eenvoudig wordt.

Het biedt veel flexibiliteit bij het definiëren van kleuren en stijlen voor tekst. U kunt Chalk echter niet afzonderlijk gebruiken om CLI-tools te bouwen; je moet het gebruiken met pakketten zoals Commander en Inquirer.js.

Voer deze opdracht uit om Chalk als een afhankelijkheid te installeren:

npm installeren krijt

Hier is een voorbeeld van hoe u Chalk gebruikt om kleuren toe te voegen aan console-uitvoer:

importeren krijt van"krijt";

troosten.log (krijt.blauw("Hallo Wereld!"));
troosten.log(krijt.rood.vetgedrukt("Waarschuwing"));
troosten.log(krijt.wit.cursief("succes"));

troosten.log(
krijt.geel.bgBlauw("DittekstheeftAgeelvoorgrondEnblauwachtergrond")
);

Chalk biedt vele andere methoden voor het definiëren van kleuren en stijlen, waaronder onderstrepen, doorhalen, verschillende tinten achtergrondkleuren en nog veel meer.

Chalk ondersteunt het CommonJS-modulesysteem niet. U moet het ES6-modulesysteem gebruiken of het pakket downgraden naar versie 4.0.0.

Chalk is een geweldig pakket om uw CLI-tools visueel aantrekkelijker en leesbaarder te maken. Bovendien kunt u het eenvoudig integreren in uw bestaande code zonder ingewikkelde configuratie.

Node Spinner is een Node.js-pakket dat een eenvoudige manier biedt om een ​​spinner-animatie weer te geven in uw CLI-tools. U kunt dit pakket gebruiken om aan te geven dat er een langlopend proces aan de gang is en om de gebruiker een visueel signaal te geven dat de tool nog steeds werkt.

Voer deze opdracht uit om Node Spinner als een afhankelijkheid te installeren:

npm installeren cli-spinner

Hier is een voorbeeld van het gebruik van Node Spinner om een ​​spinner-animatie weer te geven:

const Draaier = vereisen("cli-spinner").Spinner;

const spinner = nieuw Spinner("verwerken... %S");
spinner.setSpinnerString("|/-\\\\");
spinner.begin();

setTimeout(() => {
spinner.tekst = "Taak volbracht.";

setTimeout(() => {
spinner.stop();
}, 500);
}, 5000);

Deze code gebruikt de bibliotheek om een ​​spinner weer te geven totdat een proces is voltooid. De code bespot een bewerking die 5 seconden duurt met behulp van setTimeout. Aan het einde van de tijd verandert de displaytekst van "bezig met verwerken..." in "Taak voltooid". en stopt de spinner 0,5 seconden later.

Node Spinner biedt een scala aan aanpassingsopties, zoals het wijzigen van de spinnerstijlen en tekst. Het ondersteunt ook meerdere spinners, zodat u verschillende animaties kunt weergeven voor verschillende delen van uw CLI-tool.

Figlet is een Node.js-pakket dat een eenvoudige manier biedt om maak ASCII-kunst van tekst.

Voer deze opdracht uit om figlet als een afhankelijkheid te installeren:

npm installeren vijg

Hier is een voorbeeld van het gebruik van figlet om ASCII-kunst te genereren:

const figuurtje = vereisen("figlet");

vijg ("Hallo Wereld!!", (fout, gegevens) => {
als (fout) {
troosten.log("Sorry, er ging iets mis");
troosten.dir (fout);
opbrengst;
}

troosten.log (gegevens);
});

In het bovenstaande voorbeeld wordt ASCII-kunst gemaakt met de tekenreeks "Hallo wereld!!" met behulp van Figlet en logt het naar de console.

Het uitvoeren van dit voorbeeld zou de volgende uitvoer moeten opleveren:

Figlet biedt veel lettertypestijlen die u kunt gebruiken om het uiterlijk van uw ASCII-kunst aan te passen. U kunt een lettertypestijl specificeren door een optieobject door te geven aan het vijg functie.

Bijvoorbeeld:

vijg ("Hallo Wereld!!", {lettertype: "Klok" }, (fout, gegevens) => {})

Het gebruik van Figlet in uw CLI-tool voegt visuele interesse toe aan uw tools en maakt ze aantrekkelijker voor uw gebruikers.

Bij het kiezen van pakketten voor uw CLI-tool moet u rekening houden met uw behoeften en de pakketten selecteren die de functionaliteit, vormgeving en compatibiliteit bieden die daaraan voldoen.

Het Node.js-ecosysteem biedt verschillende pakketten die opdrachtregelargumenten kunnen ontleden, een opdrachtregel-UI kunnen maken, gestileerde tekst kunnen weergeven en nog veel meer. Door de juiste mix te gebruiken, kunt u CLI-tools maken die zowel zeer functioneel als gebruiksvriendelijk zijn.