Naudokite šias bibliotekas ir paslaugas, kad sukurtumėte modernias CLI programas su visais reikalingais varpais ir švilpukais.

Komandinės eilutės sąsaja (CLI) yra būdas sąveikauti su kompiuterio programa arba operacine sistema naudojant tekstines komandas. CLI įrankis yra paslaugų programa, kurią galite paleisti iš komandinės eilutės. CLI įrankiai paprastai paima tekstines komandas iš vartotojo ir atlieka konkrečias užduotis pagal komandas.

Aukštos kokybės CLI įrankiai turėtų palaikyti platų funkcijų spektrą. Jie gali išanalizuoti komandinės eilutės argumentus ir generuoti naudojimo pagalbą, kad pateiktų vaizdinį grįžtamąjį ryšį, be kitų funkcijų.

Yra keletas Node.js paketų, kurie gali padėti greitai sukurti CLI įrankius, siūlančius platų funkcijų ir lankstumo spektrą. Čia išnagrinėsite kai kuriuos populiariausius Node.js paketus, skirtus CLI įrankiams kurti, ir atrasite pagrindines jų funkcijas.

Commander yra Node.js paketas, skirtas komandų eilutės sąsajoms kurti. Tai suteikia API komandoms, parinktims ir argumentams apibrėžti, todėl lengva kurti CLI įrankius.

instagram viewer

Commander rūpinasi argumentų analizavimu į parinktis ir komandinės eilutės argumentus. Be to, rodomos klaidų ir neatpažintų parinkčių klaidos ir automatiškai sukuriama naudojimo pagalba (CLI dokumentacija).

Norėdami įdiegti „Commander“ kaip priklausomybę, paleiskite šią komandą:

npm diegti vadas

Štai pavyzdys, kaip naudoti Commander Node.js programoje:

// index.js
konst { Komanda } = reikalauti("vadas");

// komandos egzemplioriaus kūrimas
konst programa = naujas Komanda ();

// kūrimo įrankis
programa
.vardas("Math-util")
.apibūdinimas(„CLI įrankis paprastoms matematinėms funkcijoms atlikti“)
.versija("1.0.0");

// pridedant komandą
programa
.komandą("papildyti")
.apibūdinimas("Pridėti du skaičius")
.argument("", "pirmas numeris")
.argument("", "antrasis numeris")
.action((a, b) => {
konsolė.log(parseInta) + parseInt(b));
});

programa.išanalizuoti();

Aukščiau pateiktas pavyzdys yra CLI įrankis, skirtas paprastoms matematinėms funkcijoms atlikti. Aukščiau pateiktame kodo bloke įdiegta CLI įrankio „pridėjimo“ funkcija naudojant „commander.js“ metodus.

Galite naudoti aukščiau esantį CLI įrankį paleisdami šią komandą savo terminale:

mazgo indeksas pridėti 2 2

Taip pat galite peržiūrėti automatiškai sugeneruotą CLI įrankio žinyną vykdydami šią komandą:

mazgas kli -h

Naudodami Commander.js paketą, naudodami paprastas komandas, galite sukurti visas funkcijas turinčius ir funkcionalius CLI įrankius su dokumentacija.

Inquirer.js yra Node.js paketas, skirtas interaktyvioms komandų eilutės vartotojo sąsajoms kurti. Jame pateikiamas vartotojo sąsajos komponentų rinkinys, pvz., raginimai, sąrašai ir žymimieji langeliai, todėl lengva sukurti CLI įrankius, kurie gali sąveikauti su vartotoju.

Norėdami įdiegti Inquirer kaip priklausomybę, paleiskite šią komandą:

npm diegti klausytojas

Štai pavyzdys, kaip naudoti Inquirer.js:

// index.js
importuoti klausytojas "klausėjas";

klausytojas
.prompt([
{
tipo: "įvestis",
vardas: "vardas",
žinutė: "Koks tavo vardas?",
},
])
.thena((atsakymai) => {
konsolė.log(`Sveiki ${answers.name}`);
});

Šiame pavyzdyje naudojamas Inquirer.js, kad paimtų vartotojo įvestį iš terminalo ir užregistruotų pranešimą, kuriame vartotojas sveikinasi.

Inquirer.js nepalaiko CommonJS modulinė sistema. Turite naudoti ES6 modulių sistemą arba atnaujinti paketą į 8.0.0 versiją.

Inquirer.js suteikia daugybę raginimų tinkinimo parinkčių, įskaitant pasirinkimus, patvirtinimą ir numatytąsias reikšmes, todėl jis idealiai tinka kurti interaktyvius CLI įrankius, kurie gali sąveikauti su vartotoju.

Kreida yra Node.js paketas, kuris suteikia paprastą būdą pridėti spalvų prie terminalo išvesties, todėl lengva sukurti skaitomus ir patrauklius CLI įrankius.

Tai suteikia daug lankstumo nustatant teksto spalvas ir stilius. Tačiau negalite naudoti „Chalk“ atskirai kurdami CLI įrankius; turite naudoti su tokiais paketais kaip Commander ir Inquirer.js.

Norėdami įdiegti „Chalk“ kaip priklausomybę, paleiskite šią komandą:

npm diegti kreida

Štai pavyzdys, kaip naudoti „Chalk“ norint pridėti spalvų prie konsolės išvesties:

importuoti kreida "kreida";

konsolė.log (chalk.blue("Labas pasauli!"));
konsolė.log(kreida.raudona.paryškintas("Įspėjimas"));
konsolė.log(kreida.baltas.kursyvas("sėkmė"));

konsolė.log(
kreida.geltona.bgMėlyna("Taitekstąturiageltonapriekinio planoirmėlynafone")
);

Kreida suteikia daug kitų būdų, kaip apibrėžti spalvas ir stilius, įskaitant pabraukti, perbrauktas, įvairių atspalvių fono spalvų ir daug daugiau.

„Chalk“ nepalaiko „CommonJS“ modulių sistemos. Turite naudoti ES6 modulių sistemą arba atnaujinti paketą į 4.0.0 versiją.

Kreida yra puikus paketas, kad jūsų CLI įrankiai būtų vizualiai patrauklesni ir įskaitomi. Be to, galite lengvai integruoti jį į esamą kodą be sudėtingos konfigūracijos.

Node Spinner yra Node.js paketas, suteikiantis paprastą būdą rodyti suktuko animaciją jūsų CLI įrankiuose. Naudodami šį paketą galite nurodyti, kad vyksta ilgalaikis procesas, ir vartotojui pateikti vizualų užuominą, kad įrankis vis dar veikia.

Norėdami įdiegti „Node Spinner“ kaip priklausomybę, paleiskite šią komandą:

npm diegti suktukas

Štai pavyzdys, kaip naudoti „Node Spinner“, kad būtų rodoma suktuko animacija:

konst Suktukas = reikalauti("Cli-spinner").Verpėjas;

konst suktukas = naujas suktukas ("apdorojimas... %s");
spinner.setSpinnerString("|/-\\\\");
suktukas.pradėkite();

setTimeout(() => {
suktukas.tekstas = „Užduotis atlikta“.;

setTimeout(() => {
suktukas.sustabdyti();
}, 500);
}, 5000);

Šis kodas naudoja biblioteką, kad būtų rodomas suktukas, kol procesas bus baigtas. Kodas imituoja operaciją, kuri trunka 5 sekundes setTimeout. Pasibaigus laikui, ekrano tekstas pakeičiamas iš „apdorojama...“ į „Užduotis atlikta“. ir sustabdo suktuką po 0,5 sekundės.

„Node Spinner“ siūlo daugybę tinkinimo parinkčių, pavyzdžiui, suktuko stilių ir teksto keitimą. Jis taip pat palaiko kelis suktukus, todėl galite rodyti skirtingas animacijas skirtingoms CLI įrankio dalims.

Figlet yra Node.js paketas, suteikiantis paprastą būdą sukurti ASCII meną iš teksto.

Norėdami įdiegti „figlet“ kaip priklausomybę, paleiskite šią komandą:

npm diegti figlet

Štai pavyzdys, kaip naudoti „figlet“ ASCII iliustracijai generuoti:

konst figra = reikalauti("figlet");

figlet ("Labas pasauli!!", (klaida, duomenys) => {
if (err) {
konsolė.log(„Atsiprašau, kažkas nutiko“);
konsolė.dir (err);
grąžinti;
}

konsolė.log (duomenys);
});

Aukščiau pateiktame pavyzdyje sukuriamas ASCII menas su eilute „Hello World!“ naudodami Figlet ir registruoja jį konsolėje.

Vykdant šį pavyzdį turėtų būti gauta tokia išvestis:

„Figlet“ siūlo daugybę šriftų stilių, kuriuos galite naudoti norėdami tinkinti savo ASCII meno išvaizdą. Galite nurodyti šrifto stilių, perduodami parinkčių objektą į figlet funkcija.

Pavyzdžiui:

figlet ("Labas pasauli!!", { šriftas: "Varpas" }, (err, data) => {})

Figlet naudojimas CLI įrankyje padidina jūsų įrankių vaizdinį susidomėjimą ir daro juos patrauklesnius naudotojams.

Rinkdamiesi CLI įrankio paketus, turite atsižvelgti į savo poreikius ir pasirinkti paketus, kurie užtikrina juos atitinkantį funkcionalumą, stilių ir suderinamumą.

Node.js ekosistemoje yra įvairių paketų, kurie gali analizuoti komandų eilutės argumentus, sukurti komandų eilutės vartotojo sąsają, rodyti stilizuotą tekstą ir daug daugiau. Naudodami tinkamą derinį galėsite sukurti labai funkcionalius ir patogius CLI įrankius.