什么是 inquirer?
inquirer 是一个 Node.js 中的交互式命令行界面(CLI)工具,可帮助开发人员收集用户信息并以可读性高的方式呈现它们。
它由 Node.js 的包管理器 npm 安装,并且是许多 Node.js 应用程序和工具的常用依赖项。您可以使用 inquirer 来创建各种类型的询问,例如选择、输入框、确认框等等。
如何安装 inquirer?
使用以下 npm 命令即可在您的项目中安装 inquirer:
npm install inquirer
如何使用 inquirer?
要使用 inquirer,您需要导入它并使用问题对象数组构建问题集。这些问题对象确定了您要询问用户的信息类型以及如何将其呈现给他们。
以下是一些您可以使用的主要问题类型:
- 输入框:接受文本输入。
- 列表:提供选项列表供用户选择。
- 确认框:提示用户确认或否定某个操作。
- 转换器:过滤并转换用户输入。
下面是使用 inquirer 的示例代码:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- --------- - - - ----- -------- ----- ------- -------- ------- ---- ------- -- - ----- ------- ----- -------- -------- ----- -- ---- -------- -------- -------- ------- ------- --------- -- - ----- ---------- ----- ---------- -------- --- --- ---- -- ----------- -- -- ----------------------------------------- -- - ----------------------------------- ----- - ---- ---
在上面的代码中,我们定义了一个包含三个问题对象的数组。第一个问题是输入框,要求用户输入他们的姓名。第二个问题是列表,给出选项供用户选择。最后一个问题是确认框,询问用户是否要继续。
我们使用 inquirer.prompt()
方法显示这些问题,并在用户回答后打印出它们的答案。
如何自定义 inquirer 的外观?
inquirer 提供了许多自定义选项来更改其外观和行为。例如,您可以更改提示、错误消息和颜色等属性。
以下是一些您可以使用的主要自定义选项:
- prefix:指定每个提示之前要显示的字符串。
- suffix:指定每个提示之后要显示的字符串。
- validate:定义用于验证用户输入的自定义函数。
- filter:定义用于过滤和转换用户输入的自定义函数。
以下示例代码演示如何使用自定义选项:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- --------- - - - ----- -------- ----- ------- -------- ------- ---- ------- ------- -- -- ------- ---- --------- -------- ------- - -- -------------- - ------ ----- - ---- - ------ ------- ----- ---- ------- - -- -- - ----- ------- ----- -------- -------- ----- -- ---- -------- -------- -------- ------- ------- --------- ------- -------- ----- - ------ ------------------ -- -- - ----- ---------- ----- ---------- -------- --- --- ---- -- ----------- -------- ----- -- -- ----------------------------------------- -- - ----------------------------------- ----- - ---- ---
在上面的代码中,我们添加了 prefix
和 suffix
自定义选项来更改每个问题的前缀和后缀。我们还添加了 validate
自定义选项以确保用户输入了名称。
最后,我们添加了 filter
自定义选项以将用户的颜色选择转换为小写字母,并将 default
自定义选项设置为 true
,表示默认情
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/48729