npm 包 Enquirer 使用教程

Enquirer 是一款在终端环境下使用的交互式命令行界面(CLI)工具,可用于构建与用户进行交互的命令行应用程序。它是一个基于 Inquirer.js 的高级库,支持多种提示类型和定制选项。

安装 Enquirer

你可以通过 npm 来安装 Enquirer:

--- ------- --------

使用 Enquirer

使用 Enquirer 构建交互式命令行应用程序的过程非常简单。下面是一个例子:

----- - ------ - - --------------------

----- --------- - -
  -
    ----- --------
    ----- -----------
    -------- ----- -- ---- ----------
  --
  -
    ----- -----------
    ----- -----------
    -------- ----- -- ---- ----------
  --
  -
    ----- ---------
    ----- --------
    -------- ----- - -------
    -------- ------- -------- -------
  -
--

-----------------
  ------------- -- ---------------------
  ----------------------

这个应用程序将提示用户输入他们的用户名和密码,并让他们从一个颜色列表中选择一个颜色。

运行上面的代码,你会看到类似下面的输出:

-
  --------- ----------
  --------- -------------
  ------ ------
-

通过这种方式,你可以在命令行应用程序中与用户进行交互,获取他们的输入并执行相应的操作。

Enquirer 的提示类型

Enquirer 支持多种提示类型,包括输入、选择、密码等。下面是一些常用的示例:

输入 (input)

使用 input 类型可以让用户输入任何文本,例如用户名或电子邮件地址。

-
  ----- --------
  ----- -----------
  -------- ----- -- ---- ----------
-

密码 (password)

使用 password 类型可以让用户输入密码。输入的内容将以星号(*)显示。

-
  ----- -----------
  ----- -----------
  -------- ----- -- ---- ----------
-

单选 (select)

使用 select 类型可以让用户从一个预定义的选项列表中选择一个选项。

-
  ----- ---------
  ----- --------
  -------- ----- - -------
  -------- ------- -------- -------
-

多选 (multiselect)

使用 multiselect 类型可以让用户从一个预定义的选项列表中选择多个选项。

-
  ----- --------------
  ----- ---------
  -------- ----- --------
  -------- ------- -------- -------
-

确认 (confirm)

使用 confirm 类型可以让用户确认一个问题。用户可以回答“是”或“否”。

-
  ----- ----------
  ----- ------------
  -------- ---- --- ------
-

Enquirer 的选项

除了提示类型外,Enquirer 还支持许多其他选项,如默认值、校验器等。下面是一些常用的示例:

默认值 (default)

你可以使用 default 选项来提供一个默认值,当用户没有输入任何内容时会被使用。

-
  ----- --------
  ----- -----------
  -------- ----- -- ---- -----------
  -------- ---------
-

校验器 (validate)

你可以使用 validate 选项来验证用户输入的内容是否符合要求。如果不符合,你可以在错误消息中提供详细的说明。

-
  ----- --------
  ----- --------
  -------- ----- -- ---- ----- ----------
  --------- --------------- -
    -- --------------------------- -
      ------ ------- ----- - ----- ----- ---------
    -
    ------ -----

- ----------------------------------------------------------- --------
---------------------------------------------------------------------------------------