Upotrijebite ove biblioteke i uslužne programe za stvaranje modernih CLI programa sa svim funkcijama koje trebate.

Sučelje naredbenog retka (CLI) način je interakcije s računalnim programom ili operativnim sustavom pomoću tekstualnih naredbi. CLI alat je pomoćni program koji možete pokrenuti iz naredbenog retka. CLI alati obično preuzimaju tekstualne naredbe od korisnika i izvršavaju specifične zadatke na temelju naredbi.

Visokokvalitetni CLI alati trebali bi podržavati širok raspon funkcionalnosti. Oni mogu analizirati argumente naredbenog retka i generirati pomoć za korištenje kako bi pružili vizualnu povratnu informaciju, između ostalih značajki.

Postoji nekoliko Node.js paketa koji vam mogu pomoći da brzo izgradite CLI alate, nudeći širok raspon funkcionalnosti i fleksibilnosti. Ovdje ćete istražiti neke od najboljih Node.js paketa za izradu CLI alata i otkriti njihove ključne značajke.

Commander je Node.js paket za izgradnju sučelja naredbenog retka. Pruža API za definiranje naredbi, opcija i argumenata, što olakšava stvaranje CLI alata.

Commander se brine za raščlanjivanje argumenata u opcije i argumente naredbenog retka. Osim toga, prikazuje pogreške za probleme i neprepoznate opcije i automatski generira pomoć za korištenje (CLI dokumentacija).

Da biste instalirali Commander kao ovisnost, pokrenite ovu naredbu:

npm instalirati zapovjednik

Evo primjera kako koristiti Commander u Node.js aplikaciji:

// index.js
konst { Naredba } = zahtijevati("zapovjednik");

// stvaranje instance naredbe
konst program = novi Naredba();

// alat za izradu
program
.Ime("Math-util")
.opis("CLI alat za izvođenje jednostavnih matematičkih funkcija")
.verzija("1.0.0");

// naredba za dodavanje
program
.naredba("dodati")
.opis("Dodaj dva broja")
.argument("", "prvi broj")
.argument("", "drugi broj")
.akcijski((a, b) => {
konzola.log(parseInt(a) + parseInt(b));
});

program.raščlaniti();

Gornji primjer je CLI alat za izvođenje jednostavnih matematičkih funkcija. Gornji blok koda implementirao je funkciju "dodavanja" za CLI alat koristeći metode iz commander.js.

Možete koristiti gornji CLI alat tako što ćete pokrenuti ovu naredbu na svom terminalu:

indeks čvora dodati 2 2

Također možete vidjeti automatski generiranu pomoć za CLI alat pokretanjem ove naredbe:

čvor cli -h

S paketom Commander.js možete izraditi potpuno opremljene i funkcionalne CLI alate s dokumentacijom iz kutije koristeći jednostavne naredbe.

Inquirer.js je paket Node.js za izgradnju interaktivnih korisničkih sučelja naredbenog retka. Omogućuje skup komponenti korisničkog sučelja, kao što su upute, popisi i potvrdni okviri, što olakšava izradu CLI alata koji mogu komunicirati s korisnikom.

Da biste instalirali Inquirer kao ovisnost, pokrenite ovu naredbu:

npm instalirati ispitivač

Evo primjera kako koristiti Inquirer.js:

// index.js
uvoz ispitivač iz"upitnik";

ispitivač
.potaknuti([
{
tip: "ulazni",
Ime: "Ime",
poruka: "Kako se zoveš?",
},
])
.zatim((odgovori) => {
konzola.log(`Zdravo ${answers.name}`);
});

Ovaj primjer koristi Inquirer.js za uzimanje korisničkog unosa s terminala i zapisivanje poruke kojom se korisnik pozdravlja.

Inquirer.js ne podržava CommonJS modulski sustav. Morate koristiti sustav modula ES6 ili vratiti paket na verziju 8.0.0.

Inquirer.js pruža mnoge mogućnosti prilagodbe za upite, uključujući izbore, provjeru valjanosti i zadane vrijednosti, što ga čini idealnim za izgradnju interaktivnih CLI alata koji mogu komunicirati s korisnikom.

Chalk je paket Node.js koji pruža jednostavan način dodavanja boja izlazu terminala, čineći stvaranje čitljivih i atraktivnih CLI alata lakim.

Omogućuje veliku fleksibilnost u definiranju boja i stilova za tekst. Međutim, ne možete koristiti Chalk izolirano za izradu CLI alata; morate ga koristiti s paketima kao što su Commander i Inquirer.js.

Da biste instalirali Chalk kao ovisnost, pokrenite ovu naredbu:

npm instalirati kreda

Evo primjera kako koristiti Chalk za dodavanje boja izlazu konzole:

uvoz kreda iz"kreda";

konzola.log (kreda.plava("Pozdrav svijete!"));
konzola.log(kreda.Crvena.hrabar("Upozorenje"));
konzola.log(kreda.bijelo.kurziv("uspjeh"));

konzola.log(
kreda.žuta boja.bgPlavo("Ovajtekstimaažuta bojaprvi planiplavapozadina")
);

Kreda nudi mnoge druge metode za definiranje boja i stilova, uključujući naglasiti, precrtano, razne nijanse pozadinskih boja i još mnogo toga.

Kreda ne podržava sustav modula CommonJS. Morate koristiti sustav modula ES6 ili vratiti paket na verziju 4.0.0.

Chalk je izvrstan paket za učiniti vaše CLI alate vizualno privlačnijim i čitljivijim. Osim toga, možete ga jednostavno integrirati u svoj postojeći kod bez složene konfiguracije.

Node Spinner paket je Node.js koji pruža jednostavan način za prikaz animacije spinnera u vašim CLI alatima. Možete koristiti ovaj paket da naznačite da je dugotrajni proces u tijeku i date vizualni znak korisniku da alat još uvijek radi.

Da biste instalirali Node Spinner kao ovisnost, pokrenite ovu naredbu:

npm instalirati cli-vrtilica

Evo primjera kako koristiti Node Spinner za prikaz animacije spinnera:

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

konst spiner = novi Spinner ("obrada... %s");
spinner.setSpinnerString("|/-\\\\");
spinner.početak();

setTimeout(() => {
spiner.tekst = "Zadatak obavljen.";

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

Ovaj kod koristi biblioteku za prikaz spinnera dok proces ne završi. Kod ismijava operaciju koja traje 5 sekundi pomoću setTimeout. Na kraju vremena mijenja tekst na zaslonu iz "obrada..." u "Zadatak dovršen." i zaustavlja spinner 0,5 sekundi kasnije.

Node Spinner pruža niz opcija prilagodbe, kao što je promjena stilova i teksta spinnera. Također podržava više spinnera, što vam omogućuje prikaz različitih animacija za različite dijelove vašeg CLI alata.

Figlet je Node.js paket koji pruža jednostavan način za stvoriti ASCII art iz teksta.

Da biste instalirali figlet kao ovisnost, pokrenite ovu naredbu:

npm instalirati figlet

Evo primjera kako koristiti figlet za generiranje ASCII slike:

konst figla = zahtijevati("figle");

figla ("Pozdrav svijete!!", (pogreška, podaci) => {
ako (greška) {
konzola.log("Oprostite, nešto je pošlo naopako");
konzola.dir (pogreška);
povratak;
}

konzola.log (podaci);
});

Gornji primjer stvara ASCII art s nizom "Hello World!!" koristeći Figlet i prijavljuje ga na konzolu.

Pokretanje ovog primjera trebalo bi proizvesti sljedeći izlaz:

Figlet nudi mnoge stilove fontova koje možete koristiti za prilagodbu izgleda vaše ASCII slike. Možete odrediti stil fonta prosljeđivanjem objekta opcija u figlet funkcija.

Na primjer:

figla ("Pozdrav svijete!!", { font: "Zvono" }, (pogreška, podaci) => {})

Korištenje Figleta u vašem CLI alatu dodaje vizualni interes vašim alatima i čini ih privlačnijim za vaše korisnike.

Kada birate pakete za svoj CLI alat, morate uzeti u obzir svoje potrebe i odabrati pakete koji pružaju funkcionalnost, stil i kompatibilnost koji ih zadovoljavaju.

Ekosustav Node.js pruža razne pakete koji mogu analizirati argumente naredbenog retka, stvoriti korisničko sučelje naredbenog retka, prikazati stilizirani tekst i još mnogo toga. Korištenje ispravne kombinacije omogućit će vam stvaranje CLI alata koji su vrlo funkcionalni i jednostavni za korištenje.