Bruk disse bibliotekene og verktøyene til å lage moderne CLI-programmer med alle klokkene og plystre du trenger.

Et kommandolinjegrensesnitt (CLI) er en måte å samhandle med et dataprogram eller operativsystem ved å bruke tekstbaserte kommandoer. Et CLI-verktøy er et hjelpeprogram som du kan kjøre fra en kommandolinje. CLI-verktøy tar vanligvis tekstbaserte kommandoer fra brukeren og utfører spesifikke oppgaver basert på kommandoene.

CLI-verktøy av høy kvalitet bør støtte et bredt spekter av funksjonalitet. De kan analysere kommandolinjeargumenter og generere brukshjelp for å gi visuell tilbakemelding, blant andre funksjoner.

Det er flere Node.js-pakker som kan hjelpe deg raskt å bygge CLI-verktøy, og tilbyr et bredt spekter av funksjonalitet og fleksibilitet. Her vil du utforske noen av de beste Node.js-pakkene for å bygge CLI-verktøy og oppdage nøkkelfunksjonene deres.

Commander er en Node.js-pakke for å bygge kommandolinjegrensesnitt. Det gir et API for å definere kommandoer, alternativer og argumenter, noe som gjør det enkelt å lage CLI-verktøy.

Commander tar seg av å analysere argumenter til alternativer og kommandolinjeargumenter. I tillegg viser den feil for problemer og ukjente alternativer og genererer automatisk brukshjelp (CLI-dokumentasjon).

For å installere Commander som en avhengighet, kjør denne kommandoen:

npm installere kommandør

Her er et eksempel på hvordan du bruker Commander i en Node.js-app:

// index.js
konst { Kommando } = krever("kommandør");

// opprette en kommandoforekomst
konst program = ny Kommando();

// opprettelsesverktøy
program
.Navn("Math-util")
.beskrivelse("Et CLI-verktøy for å utføre enkle matematiske funksjoner")
.versjon("1.0.0");

// legger til kommando
program
.kommando("Legg til")
.beskrivelse("Legg til to tall")
.argument("", "første nummer")
.argument("", "andre nummer")
.handling((a, b) => {
konsoll.Logg(parseInt(a) + parseInt(b));
});

program.parse();

Eksemplet ovenfor er et CLI-verktøy for å utføre enkle matematiske funksjoner. Kodeblokken ovenfor implementerte «legg til»-funksjonaliteten for CLI-verktøyet ved å bruke metoder fra commander.js.

Du kan bruke CLI-verktøyet ovenfor ved å kjøre denne kommandoen i terminalen din:

nodeindeks add 2 2

Du kan også se den automatisk genererte hjelpen for CLI-verktøyet ved å kjøre denne kommandoen:

node cli -h

Med Commander.js-pakken kan du bygge fullverdige og funksjonelle CLI-verktøy med dokumentasjon ut av esken ved hjelp av enkle kommandoer.

Inquirer.js er en Node.js-pakke for å bygge interaktive kommandolinjebrukergrensesnitt. Den gir et sett med brukergrensesnittkomponenter, som forespørsler, lister og avmerkingsbokser, noe som gjør det enkelt å bygge CLI-verktøy som kan samhandle med brukeren.

For å installere Inquirer som en avhengighet, kjør denne kommandoen:

npm installere spørre

Her er et eksempel på hvordan du bruker Inquirer.js:

// index.js
import spørre fra"spørrer";

spørre
.prompt([
{
type: "inngang",
Navn: "Navn",
beskjed: "Hva heter du?",
},
])
.deretter((svar) => {
konsoll.Logg(`Hei ${answers.name}`);
});

Dette eksemplet bruker Inquirer.js til å ta brukerinndata fra terminalen og logger en melding som sier hei til brukeren.

Inquirer.js støtter ikke CommonJS modulsystem. Du må bruke ES6-modulsystemet eller nedgradere pakken til versjon 8.0.0.

Inquirer.js gir mange tilpasningsalternativer for spørsmål, inkludert valg, validering og standardverdier, noe som gjør den ideell for å bygge interaktive CLI-verktøy som kan samhandle med brukeren.

Chalk er en Node.js-pakke som gir en enkel måte å legge til farger på terminalutdata, noe som gjør det enkelt å lage lesbare og attraktive CLI-verktøy.

Det gir mye fleksibilitet når det gjelder å definere farger og stiler for tekst. Du kan imidlertid ikke bruke Chalk isolert for å bygge CLI-verktøy; du må bruke den med pakker som Commander og Inquirer.js.

For å installere Chalk som en avhengighet, kjør denne kommandoen:

npm installere kritt

Her er et eksempel på hvordan du bruker Chalk for å legge til farger i konsollutdata:

import kritt fra"kritt";

konsoll.log (kritt.blå("Hei Verden!"));
konsoll.Logg(kritt.rød.dristig("Advarsel"));
konsoll.Logg(kritt.hvit.kursiv("suksess"));

konsoll.Logg(
kritt.gul.bgBlue("Dettetekstharengulforgrunnenogblåbakgrunn")
);

Kritt gir mange andre metoder for å definere farger og stiler, inkludert understreke, gjennomstreking, forskjellige fargetoner av bakgrunnsfarger og mange flere.

Chalk støtter ikke CommonJS-modulsystemet. Du må bruke ES6-modulsystemet eller nedgradere pakken til versjon 4.0.0.

Chalk er en flott pakke for å gjøre CLI-verktøyene dine mer visuelt tiltalende og lesbare. I tillegg kan du enkelt integrere den i din eksisterende kode uten komplisert konfigurasjon.

Node Spinner er en Node.js-pakke som gir en enkel måte å vise en spinner-animasjon i CLI-verktøyene dine. Du kan bruke denne pakken til å indikere at en langvarig prosess pågår og gi brukeren et visuelt signal om at verktøyet fortsatt fungerer.

For å installere Node Spinner som en avhengighet, kjør denne kommandoen:

npm installere cli-spinner

Her er et eksempel på hvordan du bruker Node Spinner for å vise en spinner-animasjon:

konst Spinner = krever("cli-spinner").Spinner;

konst spinner = ny Spinner("behandling... %s");
spinner.setSpinnerString("|/-\\\\");
spinner.start();

setTimeout(() => {
spinner.text = "Oppgave fullført.";

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

Denne koden bruker biblioteket til å vise en spinner til en prosess er ferdig. Koden håner en operasjon som varer i 5 sekunder ved å bruke setTimeout. På slutten av tiden endrer den visningsteksten fra "behandler ..." til "Oppgave fullført." og stopper spinneren 0,5 sekunder senere.

Node Spinner tilbyr en rekke tilpasningsalternativer, for eksempel å endre spinnerstiler og tekst. Den støtter også flere spinnere, slik at du kan vise forskjellige animasjoner for forskjellige deler av CLI-verktøyet.

Figlet er en Node.js-pakke som gir en enkel måte å lage ASCII-kunst fra tekst.

For å installere figlet som en avhengighet, kjør denne kommandoen:

npm installere figlet

Her er et eksempel på hvordan du bruker figlet til å generere ASCII-kunst:

konst figlet = krever("figlet");

figlet("Hei Verden!!", (feil, data) => {
if (feil) {
konsoll.Logg("Beklager, noe gikk galt");
konsoll.dir (feil);
komme tilbake;
}

konsoll.log (data);
});

Eksemplet ovenfor lager ASCII-kunst med strengen "Hello World!!" ved hjelp av Figlet og logger den til konsollen.

Å kjøre dette eksemplet bør produsere følgende utgang:

Figlet gir mange skriftstiler som du kan bruke til å tilpasse utseendet til ASCII-kunsten din. Du kan spesifisere en skriftstil ved å sende et alternativobjekt til figlet funksjon.

For eksempel:

figlet("Hei Verden!!", { font: "Klokke" }, (feil, data) => {})

Å bruke Figlet i CLI-verktøyet ditt gir visuell interesse til verktøyene dine og gjør dem mer engasjerende for brukerne dine.

Når du velger pakker for CLI-verktøyet ditt, må du vurdere dine behov og velge pakkene som gir funksjonaliteten, stilen og kompatibiliteten som oppfyller dem.

Node.js-økosystemet tilbyr forskjellige pakker som kan analysere kommandolinjeargumenter, lage et kommandolinjegrensesnitt, vise stilisert tekst og mange flere. Ved å utnytte den riktige blandingen kan du lage CLI-verktøy som er både svært funksjonelle og brukervennlige.