Utilizați aceste biblioteci și utilitare pentru a crea programe CLI moderne cu toate clopotele de care aveți nevoie.

O interfață de linie de comandă (CLI) este o modalitate de a interacționa cu un program de calculator sau cu un sistem de operare folosind comenzi bazate pe text. Un instrument CLI este un program utilitar pe care îl puteți rula dintr-o linie de comandă. Instrumentele CLI preiau de obicei comenzi bazate pe text de la utilizator și efectuează sarcini specifice bazate pe comenzi.

Instrumentele CLI de înaltă calitate ar trebui să accepte o gamă largă de funcționalități. Ei pot analiza argumente din linia de comandă și pot genera ajutor de utilizare pentru a oferi feedback vizual, printre alte caracteristici.

Există mai multe pachete Node.js care vă pot ajuta să construiți rapid instrumente CLI, oferind o gamă largă de funcționalități și flexibilitate. Aici, veți explora unele dintre cele mai bune pachete Node.js pentru construirea de instrumente CLI și veți descoperi caracteristicile lor cheie.

instagram viewer

Commander este un pachet Node.js pentru construirea de interfețe de linie de comandă. Oferă un API pentru definirea comenzilor, opțiunilor și argumentelor, facilitând crearea instrumentelor CLI.

Commander se ocupă de analizarea argumentelor în opțiuni și argumente din linia de comandă. În plus, afișează erori pentru probleme și opțiuni nerecunoscute și generează automat ajutor pentru utilizare (documentația CLI).

Pentru a instala Commander ca dependență, rulați această comandă:

npm instalare comandant

Iată un exemplu despre cum să utilizați Commander într-o aplicație Node.js:

// index.js
const { Comanda } = cere("comandant");

// creează o instanță de comandă
const program = nou Comanda();

// instrument de creare
program
.Nume("Math-util")
.Descriere(„Un instrument CLI pentru efectuarea de funcții matematice simple”)
.versiune("1.0.0");

// adăugarea comenzii
program
.comanda("adăuga")
.Descriere(„Adăugați două numere”)
.argument("", „primul număr”)
.argument("", "al doilea număr")
.acțiune((a, b) => {
consolă.Buturuga(parseInt(a) + parseInt(b));
});

program.analiza();

Exemplul de mai sus este un instrument CLI pentru efectuarea de funcții matematice simple. Blocul de cod de mai sus a implementat funcționalitatea „adăugați” pentru instrumentul CLI folosind metode din commander.js.

Puteți utiliza instrumentul CLI de mai sus rulând această comandă în terminalul dvs.:

indexul nodului adăugați 2 2

De asemenea, puteți vizualiza ajutorul generat automat pentru instrumentul CLI rulând această comandă:

nodul cli -h

Cu pachetul Commander.js, puteți construi instrumente CLI complet funcționale și cu documentație imediată, folosind comenzi simple.

Inquirer.js este un pachet Node.js pentru construirea de interfețe interactive cu utilizatorul din linia de comandă. Oferă un set de componente UI, cum ar fi solicitări, liste și casete de selectare, facilitând construirea instrumentelor CLI care pot interacționa cu utilizatorul.

Pentru a instala Inquirer ca dependență, rulați această comandă:

npm instalare solicitant

Iată un exemplu despre cum să utilizați Inquirer.js:

// index.js
import solicitant din"interrogator";

solicitant
.prompt([
{
tip: "intrare",
Nume: "Nume",
mesaj: "Cum te numești?",
},
])
.apoi((răspunsuri) => {
consolă.Buturuga(`Bună ziua ${answers.name}`);
});

Acest exemplu folosește Inquirer.js pentru a prelua intrarea utilizatorului de la terminal și înregistrează un mesaj de salutare a utilizatorului.

Inquirer.js nu acceptă CommonJS sistem de module. Trebuie să utilizați sistemul de module ES6 sau să faceți downgrade a pachetului la versiunea 8.0.0.

Inquirer.js oferă multe opțiuni de personalizare pentru solicitări, inclusiv opțiuni, validare și valori implicite, ceea ce îl face ideal pentru construirea de instrumente CLI interactive care pot interacționa cu utilizatorul.

Chalk este un pachet Node.js care oferă o modalitate simplă de a adăuga culori la ieșirea terminalului, facilitând crearea de instrumente CLI lizibile și atractive.

Oferă multă flexibilitate în definirea culorilor și stilurilor pentru text. Cu toate acestea, nu puteți utiliza Chalk izolat pentru a construi instrumente CLI; trebuie să îl utilizați cu pachete precum Commander și Inquirer.js.

Pentru a instala Chalk ca dependență, rulați această comandă:

npm instalare cretă

Iată un exemplu despre cum să utilizați Chalk pentru a adăuga culori la ieșirea consolei:

import cretă din"cretă";

consolă.log (cretă.albastru("Salut Lume!"));
consolă.Buturuga(cretă.roșu.îndrăzneţ("Avertizare"));
consolă.Buturuga(cretă.alb.cursiv("succes"));

consolă.Buturuga(
cretă.galben.bgBlue("AcesttextareAgalbenprim planșialbastrufundal")
);

Chalk oferă multe alte metode pentru definirea culorilor și stilurilor, inclusiv subliniază, barat, diverse nuanțe de culori de fundal și multe altele.

Chalk nu acceptă sistemul de module CommonJS. Trebuie să utilizați sistemul de module ES6 sau să faceți downgrade a pachetului la versiunea 4.0.0.

Chalk este un pachet excelent pentru a face instrumentele dvs. CLI mai atractive din punct de vedere vizual și mai lizibile. În plus, îl puteți integra cu ușurință în codul dvs. existent fără configurație complexă.

Node Spinner este un pachet Node.js care oferă o modalitate simplă de a afișa o animație spinner în instrumentele dvs. CLI. Puteți folosi acest pachet pentru a indica faptul că un proces de lungă durată este în desfășurare și pentru a oferi un indiciu vizual utilizatorului că instrumentul încă funcționează.

Pentru a instala Node Spinner ca dependență, rulați această comandă:

npm instalare cli-spinner

Iată un exemplu despre cum să utilizați Node Spinner pentru a afișa o animație rotativă:

const Spinner = cere("cli-spinner").Spinner;

const spinner = nou spinner("prelucrare... %s");
spinner.setSpinnerString("|/-\\\\");
filator.start();

setTimeout(() => {
spinner.text = „Sarcina finalizată”.;

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

Acest cod folosește biblioteca pentru a afișa un rotitor până când un proces se termină. Codul ridică o operațiune care durează 5 secunde de utilizare setTimeout. La sfârșitul timpului, se schimbă textul afișat din „procesare...” în „Sarcina finalizată”. și oprește rotitorul 0,5 secunde mai târziu.

Node Spinner oferă o gamă largă de opțiuni de personalizare, cum ar fi schimbarea stilurilor și a textului de rotație. De asemenea, acceptă mai multe rotoare, permițându-vă să afișați animații diferite pentru diferite părți ale instrumentului dvs. CLI.

Figlet este un pachet Node.js care oferă o modalitate simplă de a creați artă ASCII din text.

Pentru a instala figlet ca dependență, rulați această comandă:

npm instalare figură

Iată un exemplu despre cum să utilizați figlet pentru a genera artă ASCII:

const figură = cere("filet");

filet("Salut Lume!!", (err, date) => {
dacă (eră) {
consolă.Buturuga("Scuze, ceva a mers greșit");
consolă.dir (err);
întoarcere;
}

consolă.log (date);
});

Exemplul de mai sus creează artă ASCII cu șirul „Hello World!!” folosind Figlet și îl înregistrează pe consolă.

Rularea acestui exemplu ar trebui să producă următoarea ieșire:

Figlet oferă multe stiluri de fonturi pe care le puteți utiliza pentru a personaliza aspectul imaginii dvs. ASCII. Puteți specifica un stil de font trecând un obiect opțiuni la figură funcţie.

De exemplu:

filet("Salut Lume!!", { font: "Clopot" }, (err, date) => {})

Utilizarea Figlet în instrumentul dvs. CLI adaugă un interes vizual instrumentelor dvs. și le face mai atractive pentru utilizatori.

Atunci când alegeți pachete pentru instrumentul dvs. CLI, trebuie să luați în considerare nevoile dvs. și să selectați pachetele care oferă funcționalitatea, stilul și compatibilitatea care le corespund.

Ecosistemul Node.js oferă diverse pachete care pot analiza argumentele liniei de comandă, pot crea o interfață de utilizare pentru linia de comandă, pot afișa text stilizat și multe altele. Folosirea combinației corecte vă va permite să creați instrumente CLI care sunt atât extrem de funcționale, cât și ușor de utilizat.