node-promptly, nodejs的简单 命令行 提示实用工具

分享于 

5分钟阅读

GitHub

  繁體 雙語
Simple command line prompting utility for nodejs
  • 源代码名称:node-promptly
  • 源代码网址:http://www.github.com/moxystudio/node-promptly
  • node-promptly源代码文档
  • node-promptly源代码下载
  • Git URL:
    git://www.github.com/moxystudio/node-promptly.git
    Git Clone代码到本地:
    git clone http://www.github.com/moxystudio/node-promptly
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/moxystudio/node-promptly
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    迅速

    NPM versionDownloadsBuild StatusCoverage StatusDependency statusDev Dependency statusGreenkeeper badge

    简单 命令行 提示实用工具。

    安装

    $ npm install promptly

    API

    . prompt(message, [options] )

    提示输入一个值,打印 message 并等待输入。
    返回以输入方式解析的promise。

    可用选项:

    名称说明类型默认值
    默认值当用户提供空输入时使用的默认值字符串未定义
    修剪修剪用户输入布尔型true
    验证器验证器的验证器或者 array函数/array未定义
    重试如果任何验证器失败,请重试布尔型true
    静音不打印用户键入的内容布尔型false
    替换silent 为 true 时,用指定的字符串替换每个字符字符串''''
    输入要读取的输入流process.stdin
    输出要写入的输出流process.stdout

    对于所有函数,可以使用相同的英镑选项 ,但默认值为。

    示例
    • 请输入名称:

      constname=awaitpromptly.prompt('Name: ');console.log(name);
    • 要求具有约束( 非空 值和长度> 2 )的名称:

      constvalidator=function (value) {
       if (value.length<2) {
       thrownewError('Min length of 2');
       }
       return value;
      };constname=awaitpromptly.prompt('Name: ', { validator });// Since retry is true by default, promptly will keep asking for a name until it is valid// Between each prompt, the error message from the validator will be printedconsole.log('Name is:', value);
    • 上面相同,但不自动重试:

      varvalidator=function (value) {
       if (value.length<2) {
       thrownewError('Min length of 2');
       }
       return value;
      };try {
       constname=awaitpromptly.prompt('Name: ', { validator, retry:false });
       console.log('Name is:', value);
      } catch (err) {
       console.error('Invalid name:')
       console.error(`- ${err.message}`);
      }
    验证器

    验证程序有两个目的: 检查和转换输入。

    (value) => {
     // Validation example, throwing an error when invalidif (value.length!==2) {
     thrownewError('Length must be 2');
     }
     // Parse the value, modifying itreturnvalue.replace('aa', 'bb');
    }

    . confirm(message, [options] )

    请求用户确认,打印 message 并等待输入。
    返回一个以答案解析的承诺。

    Truthy值为:yyes1。 Falsy值是 nno0
    比较不区分大小写的方法。

    这些选项与提示相同,只是 trim 默认为 false

    示例
    • 要求确认重要的事情:

      constanswer=awaitpromptly.confirm('Are you really sure? ');console.log('Answer:', answer);

    . choose(message, choices, [options] )

    要求用户在多个 choices ( 选项的array ) 之间进行选择,打印 message 并等待输入。
    返回以选择方式解析的承诺。

    这些选项与提示相同,只是 trim 默认为 false

    示例
    • 要求选择:

      constchoice=awaitpromptly.choose('Do you want an apple or an orange? ', ['apple', 'orange']);console.log('Choice:', choice);

    . password(message, [options] )

    提示输入密码,打印 message 并等待输入。
    返回一个以密码解析的promise。

    除了 trimsilent 默认为 falsedefault 之外,这些选项与提示相同,只是空字符串( 允许空密码)。

    示例
    • 请输入密码:

      constpassword=awaitpromptly.password('Type a password: ');console.log('Password:', password);
    • 请求密码,但使用 * 屏蔽输入:

      constpassword=awaitpromptly.password('Type a password: ', { replace:'*' });console.log('Password:', password);

    测试

    $ npm test
    $ npm test -- --watch 开发期间

    许可证

    MIT许可协议下发布。


    COM  COMM  Comma  UTIL  命令行  UTI  
    相关文章