当前位置: 首页 > 工具软件 > Inquirer.js > 使用案例 >

Inquirer.js 学习

闾丘永春
2023-12-01

最近学习vue-cli的原理,当我们命令行敲入vue create时候出现交互式命令行工具即是inquirer
文档地址

基本用法

npm install inquirer
var inquirer = require('inquirer');
inquirer
  .prompt([
    /* 这里输入你想提的问题 */
  ])
  .then(answers => {
    // 用户反馈
  })
  .catch(error => {
    if(error.isTtyError) {
      // 提示无法在当前环境中呈现
    } else {
      // 一些别的什么问题
    }
  });

API

inquirer.prompt(questions) -> promise
启动会话

  • questions是一个数组,包含Question对象
  • 返回一个promise对象

inquirer.registerPrompt(name, prompt)
inquirer.createPromptModule() -> prompt function
这两个的用法我实在不太会,请教一下大伙

question对象

  • type: (String) 提示的类型,默认值input,可选值input, number, confirm, list, rawlist, expand, checkbox, password, editor,后文还将继续讨论
  • name: (String) 提示的名称,会在answer对象中作为key值
  • message: (String|Function) 在命令行打印的问题,若是函数,则第一个参数是当前的问答会话对象。缺失值为name加冒号
  • default: (String|Number|Boolean|Array|Function) 如果没有输入,则选择默认值。若是函数,则第一个参数是当前的问答会话对象。若是数组,默认并不是选择数组中的值,而是数组本身
  • choices: (Array|Function) 数组或一个返回choices数组的函数。若是函数,则第一个参数是当前的问答会话对象。数组中的值可以是数字,字符串,或一个对象。此对象需包含name(在list中显示),value(真正保存于问答会话对象的值),short(选择后显示)。choices数组也可包含一个Separator
  • validate: (Function) 认证用户输入的值是否有效,有效则返回true,无效则可以返回一个错误(字符串)
  • filter: (Function) 过滤器,接受用户输入,返回的值将作为插入到Answers对象的值
  • transformer: (Function) 接受用户输入,当前的问答会话对象,和option flags只会更改用户编辑时的显示,不会影响问答对象
  • when: (Function, Boolean) 判断此条问题是否应该被问到
  • pageSize: (Number) 当我们使用list, rawList,expand or checkbox改变行数
  • prefix: (String) 更改默认的前缀消息
  • suffix: (String) 更改默认的后缀消息
  • askAnswered: (Boolean) Force to prompt the question if the answer already exists.
 类似资料: