Brug disse biblioteker og hjælpeprogrammer til at skabe moderne CLI-programmer med alle de klokker og fløjter, du har brug for.

En kommandolinjegrænseflade (CLI) er en måde at interagere med et computerprogram eller operativsystem ved hjælp af tekstbaserede kommandoer. Et CLI-værktøj er et hjælpeprogram, som du kan køre fra en kommandolinje. CLI-værktøjer tager typisk tekstbaserede kommandoer fra brugeren og udfører specifikke opgaver baseret på kommandoerne.

CLI-værktøjer af høj kvalitet bør understøtte en bred vifte af funktionalitet. De kan parse kommandolinjeargumenter og generere brugshjælp til at give visuel feedback, blandt andre funktioner.

Der er flere Node.js-pakker, der kan hjælpe dig med hurtigt at bygge CLI-værktøjer, der tilbyder en bred vifte af funktionalitet og fleksibilitet. Her vil du udforske nogle af de bedste Node.js-pakker til at bygge CLI-værktøjer og opdage deres nøglefunktioner.

Commander er en Node.js-pakke til opbygning af kommandolinjegrænseflader. Det giver en API til at definere kommandoer, muligheder og argumenter, hvilket gør det nemt at oprette CLI-værktøjer.

Commander tager sig af at parse argumenter til optioner og kommandolinjeargumenter. Derudover viser den fejl for problemer og ikke-genkendte muligheder og genererer automatisk brugshjælp (CLI-dokumentation).

For at installere Commander som en afhængighed skal du køre denne kommando:

npm installere kommandør

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

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

// oprettelse af en kommandoinstans
konst program = ny Kommando();

// skabelsesværktøj
program
.navn("Math-util")
.beskrivelse("Et CLI-værktøj til at udføre simple matematiske funktioner")
.version("1.0.0");

// tilføjer kommando
program
.kommando("tilføje")
.beskrivelse("Tilføj to tal")
.argument("", "første nummer")
.argument("", "andet nummer")
.handling((a, b) => {
konsol.log(parseInt(a) + parseInt(b));
});

program.parse();

Eksemplet ovenfor er et CLI-værktøj til at udføre simple matematiske funktioner. Kodeblokken ovenfor implementerede "tilføj"-funktionaliteten til CLI-værktøjet ved hjælp af metoder fra commander.js.

Du kan bruge CLI-værktøjet ovenfor ved at køre denne kommando i din terminal:

node index add 2 2

Du kan også se den automatisk genererede hjælp til CLI-værktøjet ved at køre denne kommando:

node cli -h

Med Commander.js-pakken kan du bygge fuldt udstyrede og funktionelle CLI-værktøjer med dokumentation ud af boksen ved hjælp af simple kommandoer.

Inquirer.js er en Node.js-pakke til opbygning af interaktive kommandolinjebrugergrænseflader. Det giver et sæt UI-komponenter, såsom prompter, lister og afkrydsningsfelter, hvilket gør det nemt at bygge CLI-værktøjer, der kan interagere med brugeren.

For at installere Inquirer som en afhængighed skal du køre denne kommando:

npm installere spørger

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

// index.js
importere spørger fra"spørger";

spørger
.hurtig([
{
type: "input",
navn: "navn",
besked: "Hvad hedder du?",
},
])
.derefter((svar) => {
konsol.log('Hej ${answers.name}`);
});

Dette eksempel bruger Inquirer.js til at tage brugerinput fra terminalen og logger en besked, der siger hej til brugeren.

Inquirer.js understøtter ikke CommonJS modulsystem. Du skal bruge ES6-modulsystemet eller nedgradere pakken til version 8.0.0.

Inquirer.js giver mange tilpasningsmuligheder for prompter, herunder valg, validering og standardværdier, hvilket gør den ideel til at bygge interaktive CLI-værktøjer, der kan interagere med brugeren.

Chalk er en Node.js-pakke, der giver en enkel måde at tilføje farver til terminaloutput, hvilket gør det nemt at skabe læsbare og attraktive CLI-værktøjer.

Det giver en masse fleksibilitet til at definere farver og stilarter til tekst. Du kan dog ikke bruge Chalk isoleret til at bygge CLI-værktøjer; du skal bruge det med pakker som Commander og Inquirer.js.

For at installere Chalk som en afhængighed skal du køre denne kommando:

npm installere kridt

Her er et eksempel på, hvordan du bruger Chalk til at tilføje farver til konsoloutput:

importere kridt fra"kridt";

konsol.log (kridt.blå("Hej Verden!"));
konsol.log(kridt.rød.fremhævet("Advarsel"));
konsol.log(kridt.hvid.kursiv("succes"));

konsol.log(
kridt.gul.bgBlå("Det herteksthar-engulforgrundenogblåbaggrund")
);

Kridt giver mange andre metoder til at definere farver og stilarter, herunder understrege, gennemstreget, forskellige nuancer af baggrundsfarver og mange flere.

Chalk understøtter ikke CommonJS-modulsystemet. Du skal bruge ES6-modulsystemet eller nedgradere pakken til version 4.0.0.

Kridt er en fantastisk pakke til at gøre dine CLI-værktøjer mere visuelt tiltalende og læsbare. Derudover kan du nemt integrere den i din eksisterende kode uden kompleks konfiguration.

Node Spinner er en Node.js-pakke, der giver en enkel måde at vise en spinner-animation i dine CLI-værktøjer. Du kan bruge denne pakke til at indikere, at en langvarig proces er i gang og give brugeren et visuelt fingerpeg om, at værktøjet stadig fungerer.

For at installere Node Spinner som en afhængighed skal du køre denne kommando:

npm installere cli-spinder

Her er et eksempel på, hvordan du bruger Node Spinner til at vise en spinner-animation:

konst Spinner = kræve("cli-spinner").Spinder;

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

setTimeout(() => {
spinner.tekst = "Opgaven er fuldført.";

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

Denne kode bruger biblioteket til at vise en spinner, indtil en proces afsluttes. Koden håner en handling, der varer i 5 sekunder vha sætTimeout. Ved slutningen af ​​tiden ændrer den displayteksten fra "behandler..." til "Opgaven fuldført." og stopper spinneren 0,5 sekunder senere.

Node Spinner tilbyder en række tilpasningsmuligheder, såsom ændring af spinner-stile og tekst. Det understøtter også flere spinnere, så du kan vise forskellige animationer for forskellige dele af dit CLI-værktøj.

Figlet er en Node.js-pakke, der giver en enkel måde at skabe ASCII-kunst fra tekst.

For at installere figlet som en afhængighed, kør denne kommando:

npm installere figlet

Her er et eksempel på, hvordan man bruger figlet til at generere ASCII-kunst:

konst figlet = kræve("figlet");

figlet("Hej Verden!!", (fejl, data) => {
if (fejl) {
konsol.log("Undskyld, noget gik galt");
konsol.dir (fejl);
Vend tilbage;
}

konsol.log (data);
});

Eksemplet ovenfor skaber ASCII-kunst med strengen "Hello World!!" ved hjælp af Figlet og logger det til konsollen.

Kørsel af dette eksempel skulle producere følgende output:

Figlet giver mange skrifttyper, som du kan bruge til at tilpasse udseendet af din ASCII-kunst. Du kan angive en skrifttypetype ved at sende et indstillingsobjekt til figlet fungere.

For eksempel:

figlet("Hej Verden!!", { skrifttype: "Klokke" }, (fejl, data) => {})

Brug af Figlet i dit CLI-værktøj tilføjer visuel interesse til dine værktøjer og gør dem mere engagerende for dine brugere.

Når du vælger pakker til dit CLI-værktøj, skal du overveje dine behov og vælge de pakker, der giver den funktionalitet, stil og kompatibilitet, der opfylder dem.

Node.js-økosystemet giver forskellige pakker, der kan parse kommandolinjeargumenter, oprette en kommandolinje-brugergrænseflade, vise stiliseret tekst og mange flere. Udnyttelse af det korrekte mix vil gøre dig i stand til at skabe CLI-værktøjer, der er både yderst funktionelle og brugervenlige.