介绍
qoa
是一个命令行交互式工具,可用于收集用户输入的信息。它可以为 CLI(命令行界面)创建交互式提示,支持自定义样式和校验器,易于使用且具有良好的可维护性。
安装
qoa
是一个基于 Node.js
的 npm
包,因此在使用之前,您需要先确保在本地安装了 Node.js
。在 Node.js
环境中,使用以下命令安装 qoa
:
npm install qoa
使用
qoa
支持多种类型的问题,包括行选择、单选、多选、数字输入等。以下是一个简单的示例,它将提示用户输入名称和年龄,并验证年龄是否是数字:
-- -------------------- ---- ------- ----- --- - --------------- ------ -- -- - ----- ------ - ----- ------------- ----- -------- ------ ----------- ------- ------- -- - ----- -------- ------ ----------- ------- ------ --------- ------- -- - ----- --- - ----------------------- -- ------------------- - ------ ----------- - ------ ----- -- ---- -------------------- -----展开代码
在运行此代码时,将在终端中看到提示消息,询问用户名称和年龄。用户输入答案,然后 qoa
将返回一个包含答案的对象。
API
prompt(questions)
这是 qoa
的核心方法,用于提示用户回答一组或多组问题,以收集他们的输入内容。questions
参数是一个对象数组,每个对象包含以下属性:
type
- 表示问题的类型。可选项目包括'input'
、'confirm'
、'list'
、'rawlist'
、'expand'
、'checkbox'
和'editor'
。query
- 一个字符串,表示此问题的文本。例如,'请输入您的名称:'
。handle
- 问题的唯一标识符。提供一个这样的标识符,使您能够在答案对象中引用它。choices
- 仅在list
、rawlist
和checkbox
问题类型中使用。这是一个包含供用户选择的可选项的数组。
Styles
您可以使用 qoa
提供的样式对象来自定义您的提示消息的外观。您可以使用以下 styles
属性:
prefix
-string
类型。在提示消息之前对它进行前缀,例如>
。separator
-string
类型。用于分隔问题和用户输入的分隔符。suffix
-string
类型。在提示消息之后对它进行后缀,例如:
。error
-string
类型。当用户输入无效值时在错误消息中使用的CSS颜色。示例:'\x1b[31m'
通常用于显示红色文本。input
-string
类型。输入值的CSS颜色。示例:'\x1b[32m'
通常用于显示绿色文本。
下面是一个示例:
-- -------------------- ---- ------- ----- --- - --------------- ----- ----- - - ------- ----------------- -- ---------- ------------------- ------- --- ------ ----------- ------ ----------- -- ------ -- -- - ----- ------ - ----- ------------- ----- -------- ------ ----------- ------- ------- -- - ----- -------- ------ ----------- ------- ------ --------- ------- -- - ----- --- - ----------------------- -- ------------------- - ------ ----------- - ------ ----- -- --- ------- -------------------- -----展开代码
结论
qoa
提供了一个简单且易于使用的 Node.js 库,可用于创建命令行交互接口(CLI)的提示消息。它提供了多种设置,包括各种问题类型和样式自定义。使用 qoa
,您可以更轻松地编写高质量的 CLI 工具,为您的用户提供更好的用户体验。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/139630