Izmantojiet šīs bibliotēkas un utilītprogrammas, lai izveidotu modernas CLI programmas ar visiem nepieciešamajiem zvaniem un svilpēm.
Komandrindas interfeiss (CLI) ir veids, kā mijiedarboties ar datorprogrammu vai operētājsistēmu, izmantojot teksta komandas. CLI rīks ir utilīta programma, kuru var palaist no komandrindas. CLI rīki parasti ņem teksta komandas no lietotāja un veic konkrētus uzdevumus, pamatojoties uz komandām.
Augstas kvalitātes CLI rīkiem jāatbalsta plašs funkcionalitātes klāsts. Viņi var parsēt komandrindas argumentus un ģenerēt lietošanas palīdzību, lai cita starpā sniegtu vizuālu atgriezenisko saiti.
Ir vairākas Node.js pakotnes, kas var palīdzēt ātri izveidot CLI rīkus, piedāvājot plašu funkcionalitātes un elastības klāstu. Šeit jūs izpētīsit dažas no populārākajām Node.js pakotnēm CLI rīku izveidei un atklāsiet to galvenās funkcijas.
Commander ir Node.js pakotne komandrindas saskarņu izveidei. Tas nodrošina API komandu, opciju un argumentu definēšanai, atvieglojot CLI rīku izveidi.
Commander rūpējas par argumentu parsēšanu opcijās un komandrindas argumentos. Turklāt tas parāda kļūdas par problēmām un neatpazītām opcijām un automātiski ģenerē lietošanas palīdzību (CLI dokumentācija).
Lai instalētu Commander kā atkarību, palaidiet šo komandu:
npm uzstādīt komandieris
Tālāk ir sniegts piemērs, kā lietotnē Node.js lietot Commander.
// index.js
konst {Komanda} = pieprasīt("komandieris");// komandas instances izveide
konst programma = jauns Komanda();// izveides rīks
programma
.name("Math-util")
.description("CLI rīks vienkāršu matemātisku funkciju veikšanai")
.versija("1.0.0");// pievienojot komandu
programma
.komandu("pievienot")
.description("Pievienot divus skaitļus")
.arguments("" , "pirmais numurs")
.arguments("" , "otrais numurs")
.action((a, b) => {
konsole.log(parseInt(a) + parseInt(b));
});
programma.parsēt();
Iepriekš minētais piemērs ir CLI rīks vienkāršu matemātisko funkciju veikšanai. Iepriekš minētais koda bloks ieviesa CLI rīka “pievienošanas” funkcionalitāti, izmantojot metodes no commander.js.
Varat izmantot iepriekš minēto CLI rīku, terminālī izpildot šo komandu:
mezgla indekss pievienot 2 2
Varat arī skatīt automātiski ģenerēto palīdzību CLI rīkam, izpildot šo komandu:
mezgla cli -h
Izmantojot Commander.js pakotni, varat izveidot pilnībā aprīkotus un funkcionālus CLI rīkus ar dokumentāciju, izmantojot vienkāršas komandas.
Inquirer.js ir Node.js pakotne interaktīvu komandrindas lietotāja saskarņu izveidei. Tas nodrošina lietotāja interfeisa komponentu kopu, piemēram, uzvednes, sarakstus un izvēles rūtiņas, kas ļauj viegli izveidot CLI rīkus, kas var mijiedarboties ar lietotāju.
Lai instalētu Inquirer kā atkarību, palaidiet šo komandu:
npm uzstādīt jautātājs
Šeit ir piemērs, kā izmantot Inquirer.js:
// index.js
imports jautātājs no"jautātājs";
jautātājs
.pamudināt([
{
veids: "ievade",
nosaukums: "vārds",
ziņa: "Kāds ir tavs vārds?",
},
])
.hen((atbildes) => {
konsole.log(`Labdien ${answers.name}`);
});
Šajā piemērā tiek izmantots Inquirer.js, lai ņemtu lietotāja ievadi no termināļa un reģistrētu ziņojumu ar sveicienu lietotājam.
Inquirer.js neatbalsta CommonJS moduļu sistēma. Jums ir jāizmanto ES6 moduļu sistēma vai jāatjaunina pakotne uz versiju 8.0.0.
Inquirer.js nodrošina daudzas pielāgošanas opcijas uzvednēm, tostarp izvēles, validācijas un noklusējuma vērtības, padarot to ideāli piemērotu interaktīvu CLI rīku izveidei, kas var mijiedarboties ar lietotāju.
Chalk ir Node.js pakotne, kas nodrošina vienkāršu veidu, kā termināļa izvadei pievienot krāsas, padarot viegli lasāmu un pievilcīgu CLI rīku izveidi.
Tas nodrošina lielu elastību, nosakot teksta krāsas un stilus. Tomēr jūs nevarat izmantot Chalk atsevišķi, lai izveidotu CLI rīkus; jums tas ir jāizmanto ar tādām pakotnēm kā Commander un Inquirer.js.
Lai instalētu Chalk kā atkarību, palaidiet šo komandu:
npm uzstādīt krīts
Šeit ir piemērs, kā izmantot krītu, lai konsoles izvadei pievienotu krāsas:
imports krīts no"krīts";
konsole.log (chalk.blue("Sveika pasaule!"));
konsole.log(krīts.sarkans.Treknrakstā("Brīdinājums"));
konsole.log(krīts.balts.slīps("panākumus"));
konsole.log(
krīts.dzeltens.bgBlue("Šistekstuiradzeltenspriekšplānāunzilsfons")
);
Krīts nodrošina daudzas citas metodes krāsu un stilu noteikšanai, tostarp pasvītrot, pārsvītrots, dažādas fona krāsu nokrāsas un daudzas citas.
Krīts neatbalsta CommonJS moduļu sistēmu. Jums ir jāizmanto ES6 moduļu sistēma vai jāatjaunina pakotne uz versiju 4.0.0.
Krīts ir lieliska pakotne, lai padarītu jūsu CLI rīkus vizuāli pievilcīgākus un lasāmākus. Turklāt jūs varat viegli integrēt to esošajā kodā bez sarežģītas konfigurācijas.
Node Spinner ir Node.js pakotne, kas nodrošina vienkāršu veidu, kā CLI rīkos parādīt vērpēja animāciju. Varat izmantot šo pakotni, lai norādītu, ka notiek ilgstošs process, un sniegtu lietotājam vizuālu norādi, ka rīks joprojām darbojas.
Lai instalētu Node Spinner kā atkarību, palaidiet šo komandu:
npm uzstādīt cli-spinner
Tālāk ir sniegts piemērs, kā izmantot Node Spinner, lai parādītu vērpēja animāciju.
konst Spinner = pieprasīt("cli-spinner").Vērpējs;
konst vērpējs = jauns Spinner("apstrāde... %s");
spinner.setSpinnerString("|/-\\\\");
vērpējs.sākt();setTimeout(() => {
spinner.text = "Uzdevums pabeigts.";
setTimeout(() => {
vērpējs.stop();
}, 500);
}, 5000);
Šis kods izmanto bibliotēku, lai parādītu vērpēju, līdz process ir beidzies. Kods imitē darbību, kas ilgst 5 sekundes setTimeout. Laika beigās displeja teksts tiek mainīts no “apstrāde...” uz “Uzdevums pabeigts”. un aptur vērpēju 0,5 sekundes vēlāk.
Node Spinner nodrošina virkni pielāgošanas iespēju, piemēram, vērpēja stilu un teksta mainīšanu. Tas atbalsta arī vairākus vērpējus, ļaujot parādīt dažādas animācijas dažādām CLI rīka daļām.
Figlet ir Node.js pakotne, kas nodrošina vienkāršu veidu, kā izveidot ASCII mākslu no teksta.
Lai instalētu figlet kā atkarību, palaidiet šo komandu:
npm uzstādīt figlet
Šeit ir piemērs, kā izmantot figlet, lai ģenerētu ASCII attēlu:
konst figlet = pieprasīt("figlet");
figlet ("Sveika pasaule!!", (kļūda, dati) => {
if (err) {
konsole.log("Piedod, kaut kas nogāja greizi");
konsole.dir (err);
atgriezties;
}
konsole.log (dati);
});
Iepriekš minētajā piemērā tiek izveidota ASCII māksla ar virkni "Hello World!!" izmantojot Figlet un reģistrē to konsolē.
Palaižot šo piemēru, vajadzētu iegūt šādu izvadi:
Figlet nodrošina daudzus fontu stilus, kurus varat izmantot, lai pielāgotu ASCII mākslas darbu izskatu. Varat norādīt fonta stilu, nosūtot opciju objektu uz figlet funkciju.
Piemēram:
figlet ("Sveika pasaule!!", { fonts: "Zvans" }, (kļūda, dati) => {})
Figlet izmantošana savā CLI rīkā piešķir jūsu rīkiem vizuālu interesi un padara tos lietotājus saistošākus.
Izvēloties pakotnes savam CLI rīkam, jums ir jāņem vērā savas vajadzības un jāizvēlas pakotnes, kas nodrošina tām atbilstošu funkcionalitāti, stilu un saderību.
Node.js ekosistēma nodrošina dažādas pakotnes, kas var parsēt komandrindas argumentus, izveidot komandrindas lietotāja interfeisu, parādīt stilizētu tekstu un daudz ko citu. Izmantojot pareizo kombināciju, varēsit izveidot CLI rīkus, kas ir gan ļoti funkcionāli, gan lietotājam draudzīgi.