npm 包 prompt-async 使用教程

阅读时长 4 分钟读完

什么是 prompt-async?

prompt-async 是一个基于 Node.js 的模块,可以用来从用户处获取输入。这个模块的主要优势在于它可以异步的获取用户输入,而且支持 tab 键自动完成和 crtl+c 终止等常用的交互操作,极大的方便了前端开发实践。

如何安装 prompt-async?

可以使用 npm 命令来安装:

使用 prompt-async

使用 prompt-async 可以直接 require('prompt-async') 即可,它提供了一个名为 prompt 的方法,其中包括以下参数:

  • message: 一个字符串或者配置对象,表示需要展示给用户的信息(必填参数)。
  • options:自定义配置的对象,包含以下选项:
    • default:指定默认值
    • async:是否异步获取 input。
    • mask:在终端上的行输入过程中占位符的字符。默认为 *
    • validator:一个用于验证 input 值的自定义函数。
    • trim:是否自动清除字符串周围的空格。默认为 true
    • retry:当用户输入无效时您可以选择用户是否可以重试。默认为 false

message 参数应该是一个字符串,代表用户需要输入的提示信息,如下所示:

此代码将产生如下命令行界面:

当用户键入名字以及回车时,它将返回一个包含用户输入的对象。为了能够处理这个对象,需要使用如下代码:

prompt-async 示例代码

下面是一个更为复杂的使用 prompt-async 的示例,包含输入信息以及使用 validator 函数验证输入是否符合规则:

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

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

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

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

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

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

在该示例中,首先请求用户输入名字,然后根据输入结果向用户问好,接下来请求用户输入年龄,但是这次使用了一个自定义的 validator 函数(用于验证用户输入的年龄是否满足要求),如果用户输入不符合要求,则会提示用户重新输入。

总结

本文介绍了 Node.js 中一个名为 prompt-async 的 npm 包,与传统的命令行交互方式不同的是,它可以异步的获取用户输入。此外,本文也提供了调用 prompt-async 功能的相关示例代码,在此基础上,读者也可以进行更高级的交互式开发。

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

纠错
反馈