Použijte tyto knihovny a nástroje k vytvoření moderních programů CLI se všemi zvonky a píšťalkami, které potřebujete.

Rozhraní příkazového řádku (CLI) je způsob interakce s počítačovým programem nebo operačním systémem pomocí textových příkazů. Nástroj CLI je obslužný program, který můžete spustit z příkazového řádku. Nástroje CLI obvykle přebírají textové příkazy od uživatele a provádějí specifické úlohy na základě příkazů.

Vysoce kvalitní nástroje CLI by měly podporovat širokou škálu funkcí. Mohou analyzovat argumenty příkazového řádku a generovat nápovědu k použití, která mimo jiné poskytuje vizuální zpětnou vazbu.

Existuje několik balíčků Node.js, které vám mohou pomoci rychle vytvořit nástroje CLI a nabízejí širokou škálu funkcí a flexibility. Zde prozkoumáte některé z nejlepších balíčků Node.js pro vytváření nástrojů CLI a objevíte jejich klíčové funkce.

Commander je balíček Node.js pro vytváření rozhraní příkazového řádku. Poskytuje rozhraní API pro definování příkazů, voleb a argumentů, což usnadňuje vytváření nástrojů CLI.

instagram viewer

Commander se stará o analýzu argumentů do voleb a argumentů příkazového řádku. Kromě toho zobrazuje chyby pro problémy a nerozpoznané možnosti a automaticky generuje nápovědu k použití (dokumentace CLI).

Chcete-li nainstalovat Commander jako závislost, spusťte tento příkaz:

npm Nainstalujte velitel

Zde je příklad, jak používat Commander v aplikaci Node.js:

// index.js
konst { Příkaz } = vyžadovat("velitel");

// vytvoření instance příkazu
konst program = Nový Příkaz();

// nástroj pro vytváření
program
.název("Math-util")
.popis("Nástroj CLI pro provádění jednoduchých matematických funkcí")
.verze("1.0.0");

// přidání příkazu
program
.příkaz("přidat")
.popis("Přidej dvě čísla")
.argument("", "první číslo")
.argument("", "druhé číslo")
.akce((a, b) => {
řídicí panel.log(parseInt(a) + parseInt(b));
});

program.analyzovat();

Výše uvedený příklad je nástroj CLI pro provádění jednoduchých matematických funkcí. Výše uvedený blok kódu implementoval funkci „přidat“ pro nástroj CLI pomocí metod z commander.js.

Výše uvedený nástroj CLI můžete použít spuštěním tohoto příkazu v terminálu:

index uzlu přidat 2 2

Můžete také zobrazit automaticky generovanou nápovědu pro nástroj CLI spuštěním tohoto příkazu:

uzel cli -h

S balíčkem Commander.js můžete sestavit plně funkční a funkční nástroje CLI s dokumentací ihned po vybalení pomocí jednoduchých příkazů.

Inquirer.js je balíček Node.js pro vytváření interaktivních uživatelských rozhraní příkazového řádku. Poskytuje sadu komponent uživatelského rozhraní, jako jsou výzvy, seznamy a zaškrtávací políčka, což usnadňuje vytváření nástrojů CLI, které mohou komunikovat s uživatelem.

Chcete-li nainstalovat Inquirer jako závislost, spusťte tento příkaz:

npm Nainstalujte tazatel

Zde je příklad, jak používat Inquirer.js:

// index.js
import tazatel z"tazatel";

tazatel
.výzva([
{
typ: "vstup",
název: "název",
zpráva: "Jak se jmenuješ?",
},
])
.pak((odpovědi) => {
řídicí panel.log(„Dobrý den ${answers.name}`);
});

Tento příklad používá Inquirer.js k převzetí uživatelského vstupu z terminálu a zaprotokoluje zprávu s pozdravem uživatele.

Inquirer.js nepodporuje CommonJS modulový systém. Musíte použít modulový systém ES6 nebo downgradovat balíček na verzi 8.0.0.

Inquirer.js poskytuje mnoho možností přizpůsobení pro výzvy, včetně voleb, ověření a výchozích hodnot, takže je ideální pro vytváření interaktivních nástrojů CLI, které mohou komunikovat s uživatelem.

Chalk je balíček Node.js, který poskytuje jednoduchý způsob, jak přidat barvy do výstupu terminálu, což usnadňuje vytváření čitelných a atraktivních nástrojů CLI.

Poskytuje velkou flexibilitu při definování barev a stylů textu. Křídu však nemůžete používat samostatně k vytváření nástrojů CLI; musíte jej použít s balíčky jako Commander a Inquirer.js.

Chcete-li nainstalovat Chalk jako závislost, spusťte tento příkaz:

npm Nainstalujte křída

Zde je příklad, jak pomocí křídy přidat barvy do výstupu konzoly:

import křída z"křída";

řídicí panel.log (křída.modrá("Ahoj světe!"));
řídicí panel.log(křída.Červené.tučně("Varování"));
řídicí panel.log(křída.bílý.kurzíva("úspěch"));

řídicí panel.log(
křída.žlutá.bgBlue("TentotextAžlutápopředíamodrýPozadí")
);

Křída poskytuje mnoho dalších metod pro definování barev a stylů, včetně zdůraznit, přeškrtnout, různé odstíny barev pozadí a mnoho dalších.

Chalk nepodporuje modulový systém CommonJS. Musíte použít modulový systém ES6 nebo downgradovat balíček na verzi 4.0.0.

Křída je skvělý balíček, díky kterému budou vaše nástroje CLI vizuálně přitažlivější a čitelnější. Navíc jej můžete snadno integrovat do svého stávajícího kódu bez složité konfigurace.

Node Spinner je balíček Node.js, který poskytuje jednoduchý způsob zobrazení animace spinneru v nástrojích CLI. Tento balíček můžete použít k označení probíhajícího dlouhotrvajícího procesu a poskytnout uživateli vizuální vodítko, že nástroj stále funguje.

Chcete-li nainstalovat Node Spinner jako závislost, spusťte tento příkaz:

npm Nainstalujte cli-spinner

Zde je příklad, jak použít Node Spinner k zobrazení animace spinneru:

konst Spinner = vyžadovat("cli-spinner").Spinner;

konst spinner = Nový Spinner("zpracovává se... %s");
spinner.setSpinnerString("|/-\\\\");
spinner.Start();

setTimeout(() => {
spinner.text = "Úkol splněn.";

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

Tento kód používá knihovnu k zobrazení číselníku, dokud proces neskončí. Pomocí kódu se simuluje operace, která trvá 5 sekund setTimeout. Na konci času změní text na displeji z „zpracování...“ na „Úloha dokončena“. a zastaví rotátor o 0,5 sekundy později.

Node Spinner poskytuje řadu možností přizpůsobení, jako je změna stylů číselníku a textu. Podporuje také více spinnerů, což vám umožňuje zobrazovat různé animace pro různé části vašeho nástroje CLI.

Figlet je balíček Node.js, který poskytuje jednoduchý způsob vytvořit ASCII umění z textu.

Chcete-li nainstalovat figlet jako závislost, spusťte tento příkaz:

npm Nainstalujte figurka

Zde je příklad, jak použít figlet ke generování ASCII art:

konst figurka = vyžadovat("figlet");

figurka ("Ahoj světe!!", (chyba, data) => {
if (chyba) {
řídicí panel.log("Promiň, něco se pokazilo");
řídicí panel.dir (chyba);
vrátit se;
}

řídicí panel.log (data);
});

Výše uvedený příklad vytváří ASCII art s řetězcem „Hello World!!“ pomocí Figlet a přihlásí jej do konzole.

Spuštění tohoto příkladu by mělo vytvořit následující výstup:

Figlet poskytuje mnoho stylů písem, které můžete použít k přizpůsobení vzhledu vašeho ASCII artu. Styl písma můžete určit předáním objektu options do figurka funkce.

Například:

figurka ("Ahoj světe!!", { font: "Zvonek" }, (chyba, data) => {})

Použití Figletu v nástroji CLI přidá vašim nástrojům vizuální zajímavost a učiní je pro vaše uživatele poutavějšími.

Při výběru balíčků pro váš nástroj CLI musíte zvážit své potřeby a vybrat balíčky, které poskytují funkce, styl a kompatibilitu, které je splňují.

Ekosystém Node.js poskytuje různé balíčky, které mohou analyzovat argumenty příkazového řádku, vytvářet uživatelské rozhraní příkazového řádku, zobrazovat stylizovaný text a mnoho dalších. Využití správné kombinace vám umožní vytvářet nástroje CLI, které jsou vysoce funkční a uživatelsky přívětivé.