Använd dessa bibliotek och verktyg för att skapa moderna CLI-program med alla klockor och visselpipor du behöver.

Ett kommandoradsgränssnitt (CLI) är ett sätt att interagera med ett datorprogram eller operativsystem med hjälp av textbaserade kommandon. Ett CLI-verktyg är ett verktygsprogram som du kan köra från en kommandorad. CLI-verktyg tar vanligtvis textbaserade kommandon från användaren och utför specifika uppgifter baserat på kommandona.

Högkvalitativa CLI-verktyg bör stödja ett brett utbud av funktioner. De kan analysera kommandoradsargument och generera användningshjälp för att ge visuell feedback, bland andra funktioner.

Det finns flera Node.js-paket som kan hjälpa dig att snabbt bygga CLI-verktyg, som erbjuder ett brett utbud av funktionalitet och flexibilitet. Här kommer du att utforska några av de bästa Node.js-paketen för att bygga CLI-verktyg och upptäcka deras nyckelfunktioner.

Commander är ett Node.js-paket för att bygga kommandoradsgränssnitt. Det tillhandahåller ett API för att definiera kommandon, alternativ och argument, vilket gör det enkelt att skapa CLI-verktyg.

instagram viewer

Commander tar hand om att analysera argument till alternativ och kommandoradsargument. Dessutom visar den fel för problem och okända alternativ och genererar automatiskt användningshjälp (CLI-dokumentation).

För att installera Commander som ett beroende, kör det här kommandot:

npm Installera befälhavare

Här är ett exempel på hur du använder Commander i en Node.js-app:

// index.js
konst { Kommando } = behöva("befälhavare");

// skapa en kommandoinstans
konst program = ny Kommando();

// skapande verktyg
program
.namn("Math-util")
.beskrivning("Ett CLI-verktyg för att utföra enkla matematiska funktioner")
.version("1.0.0");

// lägga till kommando
program
.kommando("Lägg till")
.beskrivning("Lägg till två siffror")
.argument("", "första numret")
.argument("", "andra nummer")
.handling((a, b) => {
trösta.logga(parseInt(a) + parseInt(b));
});

program.parse();

Exemplet ovan är ett CLI-verktyg för att utföra enkla matematiska funktioner. Kodblocket ovan implementerade "lägg till"-funktionen för CLI-verktyget med metoder från commander.js.

Du kan använda CLI-verktyget ovan genom att köra det här kommandot i din terminal:

nodindex add 2 2

Du kan också se den automatiskt genererade hjälpen för CLI-verktyget genom att köra det här kommandot:

nod cli -h

Med Commander.js-paketet kan du bygga fullt utrustade och funktionella CLI-verktyg med dokumentation direkt från lådan med enkla kommandon.

Inquirer.js är ett Node.js-paket för att bygga interaktiva kommandoradsgränssnitt. Den tillhandahåller en uppsättning UI-komponenter, såsom uppmaningar, listor och kryssrutor, vilket gör det enkelt att bygga CLI-verktyg som kan interagera med användaren.

För att installera Inquirer som ett beroende, kör det här kommandot:

npm Installera förfrågan

Här är ett exempel på hur du använder Inquirer.js:

// index.js
importera förfrågan från"förfrågan";

förfrågan
.prompt([
{
typ: "inmatning",
namn: "namn",
meddelande: "Vad heter du?",
},
])
.sedan((svarar) => {
trösta.logga(`Hej ${answers.name}`);
});

Det här exemplet använder Inquirer.js för att ta användarinput från terminalen och loggar ett meddelande som säger hej till användaren.

Inquirer.js stöder inte CommonJS modulsystem. Du måste använda ES6-modulsystemet eller nedgradera paketet till version 8.0.0.

Inquirer.js tillhandahåller många anpassningsalternativ för uppmaningar, inklusive val, validering och standardvärden, vilket gör den idealisk för att bygga interaktiva CLI-verktyg som kan interagera med användaren.

Chalk är ett Node.js-paket som ger ett enkelt sätt att lägga till färger i terminalutdata, vilket gör det enkelt att skapa läsbara och attraktiva CLI-verktyg.

Det ger mycket flexibilitet när det gäller att definiera färger och stilar för text. Du kan dock inte använda Chalk isolerat för att bygga CLI-verktyg; du måste använda den med paket som Commander och Inquirer.js.

För att installera Chalk som ett beroende, kör det här kommandot:

npm Installera krita

Här är ett exempel på hur man använder Chalk för att lägga till färger till konsolutdata:

importera krita från"krita";

trösta.log (chalk.blue("Hej världen!"));
trösta.logga(krita.röd.djärv("Varning"));
trösta.logga(krita.vit.kursiv("Framgång"));

trösta.logga(
krita.gul.bgBlå("Dettatextharagulförgrundochblåbakgrund")
);

Krita tillhandahåller många andra metoder för att definiera färger och stilar, inklusive Understrykning, genomstruken, olika nyanser av bakgrundsfärger och många fler.

Chalk stöder inte CommonJS-modulsystemet. Du måste använda ES6-modulsystemet eller nedgradera paketet till version 4.0.0.

Chalk är ett bra paket för att göra dina CLI-verktyg mer visuellt tilltalande och läsbara. Dessutom kan du enkelt integrera den i din befintliga kod utan komplex konfiguration.

Node Spinner är ett Node.js-paket som ger ett enkelt sätt att visa en spinner-animation i dina CLI-verktyg. Du kan använda det här paketet för att indikera att en långvarig process pågår och ge en visuell signal till användaren att verktyget fortfarande fungerar.

För att installera Node Spinner som ett beroende, kör det här kommandot:

npm Installera cli-spinnare

Här är ett exempel på hur du använder Node Spinner för att visa en spinner-animation:

konst Spinner = behöva("cli-spinner").Spinnare;

konst spinnare = ny Spinnare("bearbetar... %s");
spinner.setSpinnerString("|/-\\\\");
spinnare.Start();

setTimeout(() => {
spinner.text = "Uppgiften slutförd.";

setTimeout(() => {
spinnare.sluta();
}, 500);
}, 5000);

Den här koden använder biblioteket för att visa en spinner tills en process avslutas. Koden hånar en operation som varar i 5 sekunder med hjälp av setTimeout. Vid slutet av tiden ändras visningstexten från "bearbetar..." till "Uppgiften slutförd." och stoppar spinnern 0,5 sekunder senare.

Node Spinner erbjuder en rad anpassningsalternativ, som att ändra spinnerstilar och text. Den stöder också flera spinnare, så att du kan visa olika animationer för olika delar av ditt CLI-verktyg.

Figlet är ett Node.js-paket som ger ett enkelt sätt att skapa ASCII-konst från text.

För att installera figlet som ett beroende, kör det här kommandot:

npm Installera fikling

Här är ett exempel på hur man använder figlet för att generera ASCII-konst:

konst figlet = behöva("figel");

fikling ("Hej världen!!", (fel, data) => {
if (fel) {
trösta.logga("Förlåt, något gick fel");
trösta.dir (fel);
lämna tillbaka;
}

trösta.log (data);
});

Exemplet ovan skapar ASCII-konst med strängen "Hello World!!" använder Figlet och loggar den till konsolen.

Att köra det här exemplet bör ge följande utdata:

Figlet tillhandahåller många teckensnittsstilar som du kan använda för att anpassa utseendet på din ASCII-konst. Du kan ange en teckensnittsstil genom att skicka ett alternativobjekt till fikling fungera.

Till exempel:

fikling ("Hej världen!!", { teckensnitt: "Klocka" }, (fel, data) => {})

Att använda Figlet i ditt CLI-verktyg lägger till visuellt intresse för dina verktyg och gör dem mer engagerande för dina användare.

När du väljer paket för ditt CLI-verktyg måste du ta hänsyn till dina behov och välja de paket som ger den funktionalitet, utformning och kompatibilitet som uppfyller dem.

Ekosystemet Node.js tillhandahåller olika paket som kan analysera kommandoradsargument, skapa ett kommandoradsgränssnitt, visa stiliserad text och många fler. Genom att utnyttja rätt mix kommer du att kunna skapa CLI-verktyg som är både mycket funktionella och användarvänliga.