Как использовать пакет Inquirer Node

Inquirer

Inquirer — это пакет NPM, который обеспечивает простой способ сбора пользовательского ввода в приложениях интерфейса командной строки Node.js. Он предоставляет несколько методов для задания вопросов и получения ответов от пользователя, к которым можно получить доступ с помощью функции обещания .then .

Установка

Как и все пакеты NPM, inquirer необходимо установить, прежде чем вы сможете его использовать. В каталоге, содержащем файл node.js, с которым вы работаете, запустите npm i inquirer перед написанием приглашения запрашивающего.

Примечание: для этого вам потребуется установить NPM и Node.js перед началом. Щелкните ссылки, чтобы просмотреть инструкции по их установке.

Затем в в верхней части файла вам необходимо потребовать inquirer в качестве зависимости. Это достигается с помощью одной строки кода:

  const inquirer = require ("inquirer");  

require позволяет вашему приложению знать, что ему необходимо использовать пакет inquirer для выполнения приведенного ниже кода.

Пример

Документацию для Inquirer можно найти здесь, и ей очень легко следовать. Давайте посмотрим на пример inquirer в действии:

В этом примере мы рассмотрим простой вопрос с обычным типизированным пользователем input.

  1 запрос. подсказка ([2 {3 name: 'приветствие', 4 сообщение: 'Что бы  вы хотите сказать? ', 5 введите:' input'6}]) 7 .then (function (answer) {8 console.log (answer); 9});  

Ожидаемый результат этого приглашения:

 >> node index.js >> Что вы хотите сказать?  Привет, мир! >> {приветствие: 'Hello World!'  

Примечание : строка «Hello World!» был введен в интерфейс командной строки при запуске приложения; таким образом, он предоставляет данные, вводимые пользователем.

Что здесь происходит?

Inquirer был разработан для возврата отвечает на его ввод message в функции обратного вызова. Вы можете видеть в строке 7 , что параметр ответа передается в наше обещание .then , как упоминалось выше. Следуя этой структуре, вы можете использовать параметр answer для выполнения действий внутри функции обещания.

Вопросы для запросов

Что касается код внутри приглашения (строки 2-6), это хэш значений, связанных с вопросом, который вы хотите задать пользователю. В своей самой простой форме вопрос запрашивающего требует message (то, что вы хотите спросить у пользователя), name (ключ, к которому будет осуществляться доступ через ответы. ) и тип (это может быть один из 9 различных вариантов типа ввода).

Там есть тонна универсальности в этих 9 вариантах, поэтому изучите документацию и поэкспериментируйте с некоторыми другими типами подсказок.

Последовательные подсказки

Одна из замечательных особенностей inquirer — это возможность объединить несколько подсказок в один вопрос. Давайте посмотрим на расширенную версию нашего примера кода выше:

В этом примере используется тип list в дополнение к базовому input введите выше.

  1inquirer.prompt ([2 {3 name: "welcome", 4 message: "What  вы хотите сказать? ", 5 тип:" input ", 6}, 7 {8 name:" colors ", 9 message:" Какой ваш любимый цвет? ", 10 type:" list ", 11 choices: ["  черный, красный, синий, желтый, зеленый, белый дым] 12}]) 13. затем (функция (ответ) {14 console.log (answer.greeting); 15 console.log  (answer.colors); 16});  

Интерфейс, показанный ниже, отображает тип list подсказки в действии .

 >> node index.js >> Что вы хотите сказать?  Привет, мир! >> Какой твой любимый цвет?  (Используйте клавишу со стрелкой) >>> черный >> красный >> синий >> желтый >> зеленый >> белый дым  

Объяснение

Это тот же блок кода, что и выше, с двумя существенными отличиями. Во-первых, у нас есть второй вопрос, привязанный к приглашению в строках 7–12 , а метод inquirer.prompt принимает массив объектов, каждый из которых объект question задается в последовательном порядке.

Строки 10 и 11 немного отличаются от нашего первого примера. Здесь ответ на вопрос будет представлен в списке , который пользователь может прокрутить и выбрать из массива в choices в строке 11. Когда пользователь выбирает один из предложенных вариантов, параметр answer.colors вернет ту строку, которую пользователь выбрал из меню списка. Это чрезвычайно полезно при создании системы меню с помощью простого оператора switch.

Другое существенное отличие заключается в том, как получить доступ к ответу в наших функциях console.log на строки 14 и 15 . Обратите внимание, как в первом примере мы записали полный ответ, а возвращаемый результат был в объектном формате. Ссылаясь на значения name , как определено в наших приглашениях для запросов, консоль будет регистрировать ввод пользователя только для этого конкретного приглашения.

Summary

Inquirer может быть мощным инструментом для взаимодействия с вашим пользователем в приложениях Node.js.. Inquirer предлагает множество других функций, включая проверку входных данных, пользовательский интерфейс и параметры макета, маскировку пароля и многое другое. Кроме того, сообщество разработало набор полезных плагинов.

Так что ныряйте и создайте что-нибудь полезное сегодня!

Оцените статью
nanomode.ru
Добавить комментарий