Използвайте тези библиотеки и помощни програми, за да създадете модерни CLI програми с всички необходими функции.
Интерфейсът на командния ред (CLI) е начин за взаимодействие с компютърна програма или операционна система с помощта на текстови команди. CLI инструментът е помощна програма, която можете да стартирате от командния ред. CLI инструментите обикновено приемат текстови команди от потребителя и изпълняват конкретни задачи въз основа на командите.
Висококачествените CLI инструменти трябва да поддържат широк набор от функционалности. Те могат да анализират аргументите на командния ред и да генерират помощ за използване, за да предоставят визуална обратна връзка, наред с други функции.
Има няколко пакета Node.js, които могат да ви помогнат бързо да изградите CLI инструменти, предлагайки широк набор от функционалност и гъвкавост. Тук ще разгледате някои от най-добрите Node.js пакети за изграждане на CLI инструменти и ще откриете техните ключови функции.
Commander е Node.js пакет за изграждане на интерфейси на командния ред. Той предоставя API за дефиниране на команди, опции и аргументи, което улеснява създаването на CLI инструменти.
Commander се грижи за анализирането на аргументи в опции и аргументи на командния ред. Освен това той показва грешки за проблеми и неразпознати опции и автоматично генерира помощ за използване (CLI документация).
За да инсталирате Commander като зависимост, изпълнете тази команда:
npm Инсталирай командир
Ето пример за това как да използвате Commander в приложение Node.js:
// index.js
конст {Команда} = изискват("командир");// създаване на екземпляр на команда
конст програма = нов Команда();// инструмент за създаване
програма
.име("Math-util")
.description(„CLI инструмент за изпълнение на прости математически функции“)
.версия("1.0.0");// команда за добавяне
програма
.команда("добави")
.description(„Добавете две числа“)
.аргумент("" , "първо число")
.аргумент("" , "второ число")
.действие((а, б) => {
конзола.log(parseInt(а) + parseInt(б));
});
програма.разбор();
Примерът по-горе е CLI инструмент за изпълнение на прости математически функции. Кодовият блок по-горе внедри функционалността „добавяне“ за CLI инструмента, използвайки методи от commander.js.
Можете да използвате CLI инструмента по-горе, като изпълните тази команда във вашия терминал:
индекс на възел добави 2 2
Можете също така да видите автоматично генерираната помощ за CLI инструмента, като изпълните тази команда:
възел cli -h
С пакета Commander.js можете да създавате напълно функционални и функционални CLI инструменти с документация от кутията, като използвате прости команди.
Inquirer.js е пакет Node.js за изграждане на интерактивни потребителски интерфейси на командния ред. Той предоставя набор от UI компоненти, като подкани, списъци и квадратчета за отметка, което улеснява изграждането на CLI инструменти, които могат да взаимодействат с потребителя.
За да инсталирате Inquirer като зависимост, изпълнете тази команда:
npm Инсталирай питащ
Ето пример за това как да използвате Inquirer.js:
// index.js
импортиране питащ от"питащ";
питащ
.prompt([
{
Тип: "вход",
име: "име",
съобщение: "Как се казваш?",
},
])
.тогава((отговори) => {
конзола.log(`Здравей ${answers.name}`);
});
Този пример използва Inquirer.js, за да вземе потребителски вход от терминала и да регистрира съобщение, което казва здравей на потребителя.
Inquirer.js не поддържа CommonJS модулна система. Трябва да използвате модулната система ES6 или да понижите пакета до версия 8.0.0.
Inquirer.js предоставя много опции за персонализиране на подкани, включително избори, валидиране и стойности по подразбиране, което го прави идеален за изграждане на интерактивни CLI инструменти, които могат да взаимодействат с потребителя.
Chalk е Node.js пакет, който предоставя лесен начин за добавяне на цветове към изхода на терминала, което прави лесно създаването на четливи и привлекателни CLI инструменти.
Предоставя много гъвкавост при дефиниране на цветове и стилове за текст. Въпреки това не можете да използвате Chalk изолирано за изграждане на CLI инструменти; трябва да го използвате с пакети като Commander и Inquirer.js.
За да инсталирате Chalk като зависимост, изпълнете тази команда:
npm Инсталирай тебешир
Ето пример за това как да използвате Chalk за добавяне на цветове към изхода на конзолата:
импортиране тебешир от"тебешир";
конзола.log (chalk.blue("Здравей свят!"));
конзола.дневник(тебешир.червен.удебелен("Внимание"));
конзола.дневник(тебешир.бял.курсив("успех"));
конзола.log(
тебешир.жълто.bgBlue("Товатекстимаажълтопреден планисинзаден план")
);
Chalk предоставя много други методи за дефиниране на цветове и стилове, включително подчертавам, зачертаване, различни нюанси на фонови цветове и много други.
Chalk не поддържа модулната система CommonJS. Трябва да използвате модулната система ES6 или да понижите пакета до версия 4.0.0.
Chalk е страхотен пакет, за да направите вашите CLI инструменти по-привлекателни и четливи. Освен това можете лесно да го интегрирате във вашия съществуващ код без сложна конфигурация.
Node Spinner е пакет Node.js, който предоставя лесен начин за показване на анимация на въртяща се анимация във вашите CLI инструменти. Можете да използвате този пакет, за да посочите, че е в ход дълготраен процес и да дадете визуална подсказка на потребителя, че инструментът все още работи.
За да инсталирате Node Spinner като зависимост, изпълнете тази команда:
npm Инсталирай кли-въртач
Ето пример за това как да използвате Node Spinner за показване на анимация на въртяща се функция:
конст Спинър = изискват("cli-spinner").Спинър;
конст центрофуга = нов Спинър ("обработка... %с");
spinner.setSpinnerString("|/-\\\\");
центрофуга.започнете();setTimeout(() => {
spinner.text = „Задачата е изпълнена.“;
setTimeout(() => {
центрофуга.Спри се();
}, 500);
}, 5000);
Този код използва библиотеката, за да покаже въртящ се бутон, докато процесът приключи. Кодът имитира операция, която продължава 5 секунди при използване setTimeout. В края на времето той променя текста на дисплея от „обработва се...“ на „Задачата е завършена“. и спира центрофугата 0,5 секунди по-късно.
Node Spinner предоставя набор от опции за персонализиране, като например промяна на стиловете и текста на спинера. Той също така поддържа множество спинери, което ви позволява да показвате различни анимации за различни части на вашия CLI инструмент.
Figlet е пакет Node.js, който предоставя лесен начин за създайте ASCII изкуство от текст.
За да инсталирате figlet като зависимост, изпълнете тази команда:
npm Инсталирай филе
Ето пример за това как да използвате figlet за генериране на ASCII изкуство:
конст филе = изискват("фигел");
филе ("Здравей свят!!", (грешка, данни) => {
ако (грешка) {
конзола.log("Съжалявам нещо се обърка");
конзола.dir (грешка);
връщане;
}
конзола.log (данни);
});
Примерът по-горе създава ASCII изкуство с низа "Hello World!!" използвайки Figlet и го регистрира в конзолата.
Изпълнението на този пример трябва да доведе до следния резултат:
Figlet предоставя много стилове на шрифтове, които можете да използвате, за да персонализирате външния вид на вашето ASCII изкуство. Можете да зададете стил на шрифта, като подадете обект с опции към филе функция.
Например:
филе ("Здравей свят!!", { шрифт: "камбана" }, (грешка, данни) => {})
Използването на Figlet във вашия CLI инструмент добавя визуален интерес към вашите инструменти и ги прави по-ангажиращи за вашите потребители.
Когато избирате пакети за вашия CLI инструмент, трябва да имате предвид вашите нужди и да изберете пакетите, които предоставят функционалността, стила и съвместимостта, които им отговарят.
Екосистемата Node.js предоставя различни пакети, които могат да анализират аргументите на командния ред, да създават потребителски интерфейс на командния ред, да показват стилизиран текст и много други. Използването на правилния микс ще ви позволи да създадете CLI инструменти, които са едновременно изключително функционални и удобни за потребителя.