npm包inquire 使用教程

阅读时长 8 分钟读完

介绍

Inquire是一个基于Node.js的命令行交互界面库,用来收集用户输入的答案。Inquire提供了许多强大的功能,例如提供各种可以接受的答案类型、嵌套询问、验证等。

安装

在使用Inquire前,需要先安装Node.js和npm。如果您已安装,请在终端中运行以下命令:

使用方式

Inquire提供了一个简单且易于使用的API。我们可以使用prompt()函数来定义我们希望出现的问题,然后使用.then()函数来接受用户的答案。以下是一个简单的范例:

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

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

具体使用

常见问题类型

Inquire支持许多类型的问题,如下所示:

类型 描述
input 接受用户输入的文本答案
number 接受用户输入的数字答案
confirm 接受 boolean 类型的答案(是或否)
checkbox 接受多选答案
list 接受单选答案
rawlist 与list相同,但忽略 value 外的的额外信息
password 接受密码的输入
editor 接受编辑器的输入

下面我们来看一下常用问题的使用方法:

input

使用input类型的问题直接输入用户需要的文本内容。

以下是一个例子,它要求用户输入他们的名称。

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

number

使用number类型问题来输入数字。

以下是一个例子,它要求用户输入他们的年龄。

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

confirm

使用confirm类型问题让用户回答是或否。

以下是一个例子,询问用户是否继续。

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

checkbox

使用checkbox类型问题来获取多个答案。

以下是一个例子,它要求用户选择其中一个或多个颜色。

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

list

使用list类型问题来获取单个选择。

以下是一个例子,它要求用户选择他们希望订购的饮料。

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

高级用法

流程控制

Inquire还提供了流程控制,使您可以根据用户的答案接收不同的问题。

以下是一个例子,询问用户是否希望添加一些其他信息,如果是,则查询有关他们公司的更多信息:

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

验证答案

Inquire还提供了一种验证答案的方法。如果答案无效,则会提示用户重新回答。

以下是一个例子,它要求用户输入5个数字:

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

总结

Inquire提供了一个方便的工具,用于在命令行中收集用户输入的答案。使用Inquire,您可以轻松地定义问题并获取用户的回答。

在实际的开发过程中,您可以根据需要灵活运用各种问题类型和

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/182437