一个使用界面进行交互的命令行集合

4.0以上的版本只支持node 6以上的,node4请使用3.x

目标和理念(hilosophy)

努力去做一个容易的 嵌入式的(embeddable) 和优美的命令行界面

应该简化一下的过程:

-提供一个错误回调

-询问

-解析(parsing )输入

-验证答案

-管理层次提示

导入(Installation)

npm install inquirer
var inquirer = require('inquirer');
inquirer
.prompt([
/* Pass your questions in here */
])
.then(answers => {
// Use user feedback for... whatever!!
});

案例位置

node packages/inquirer/examples/pizza.js
node packages/inquirer/examples/checkbox.js
# etc...

方法

inquirer.prompt(questions) -> promise

调出提示界面

-questions (数组类型)包含一个Question 对象

-返回一个promise

inquirer.registerPrompt(name, prompt)

使用name注册prompt

-name:prompt的名字

-prompt:prompt事件

inquirer.createPromptModule() -> prompt function

创建一个自包含的问答模块,当你复写或者添加一个新的问答模块时,你不希望影响其他模块,你也可以这么做

var prompt = inquirer.createPromptModule();

prompt(questions).then(/* ... */);

object

*Question*

一个question object是一个包含于问题有关系的hash

type(字符串):prompt的类型,默认是input,值列表:input, confirm, list, rawlist, expand, checkbox, password, editor

name(string):在下面答案对象中存储用户输入的答案的标志名

message(字符串|函数):输出的问题,如果是一个函数 第一个参数默认是用户输入的答案,默认值是name

default(String|Number|Boolean|Array|Function):如果用户没有输入任何值,这里存放默认值,或者是一个函数返回一个默认值,如果被定义为一个函数,第一个参数默认是用户的输入值

choices(Array|Function):一个数组 或者是一个返回数组的函数,如果被定义成函数 第一个参数是用户的输入值,数组可以是一个字符串数组,或者是一个字段数组,字典的属性有name、value、properties,

validate(Function):一个接受用户输入的方法,如果验证成功的话 应该返回true,如果失败的话,需要返回一个字符串,字符串是错误信息,如果你返回false的话 我们就会使用默认错误信息

filter(Function):一个将用户输入的进行过滤的方法

pageSize(Number):更改当使用list rawList expand 或者checkbox时候应该使用的行数

Answers

在每一个提示中包含答案的散列

-Key :question object的名称

-Value

Inquirer.js的更多相关文章

  1. 一统江湖的大前端(6)commander.js + inquirer.js——懒,才是第一生产力

    <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

  2. js node.js 编写命令工具demo

    1 创建文件夹cli-demo 2 执行npm init  3 创建cli.js 文件 内容如下: //js文件变成可执行文件 #!/usr/bin/env node console.log(&quo ...

  3. vue init定制团队模板之meta.js/meta.json写法入门

    在上一篇文章中,我们提到了meta.js,这次我们详细了解一下meta.js里面各个模块的写法. 对于 meta.js/metajson 文件, 目前主要字段如下: prompts<Object ...

  4. 编写自定义Yeoman生成器

    转载自JSCON-简时空:<自定义Yeoman生成器> 1.Getting Started 1.1.设置Node模块 Yeoman提供了generator-generator方便快速编写自 ...

  5. 创建简单的npm脚手架

    前言 vue-cli, webpack-cli 等脚手架是不是用起来爱不释手?自己写了个模版每次来回复制粘贴代码是不是很难维护?如果你是对前端.Node操作有一定的了解,同时也存在以上疑问,那就请尽情 ...

  6. 前端工程化系列[06]-Yeoman脚手架核心机制

    在前端工程化系列[05] Yeoman脚手架使用入门这边文章中,对Yeoman的使用做了简单的入门介绍,这篇文章我们将接着探讨Yeoman这个脚手架工具内部的核心机制,主要包括以下内容 ❏ Yeoma ...

  7. NPM 模块收集

    cross-env https://www.npmjs.com/package/cross-env 在package.json设置环境变量的时候,会有兼容性问题,如: { "scripts& ...

  8. vue-cli简介(中文翻译)

    vue-cli是一个简单的vuejs脚手架命令行工具. 安装 准备:Node.js(>=4.x,推荐6.x版本),npm版本3以上和Git. $npm install -g vue-cli 使用 ...

  9. node 利用命令行交互生成相应模板

    目录 readline 实现 使用process实现 使用 inquirer 调用的生成模板方法 (generator 方法) 创建时间:2019-10-15 测试环境:win10 node-v10. ...

随机推荐

  1. POJ 1655 求树的重心

    POJ 1655 [题目链接]POJ 1655 [题目类型]求树的重心 &题意: 定义平衡数为去掉一个点其最大子树的结点个数,求给定树的最小平衡数和对应要删的点.其实就是求树的重心,找到一个点 ...

  2. PHP----------php封装的一些简单实用的方法汇总

    1.xml转换成array,格式不对的xml则返回false function xml_parser($str){    $xml_parser = xml_parser_create();    i ...

  3. 【Python学习】iterator 迭代器小练习

    http://anandology.com/python-practice-book/iterators.html  Problem 1: Write an iterator class revers ...

  4. Flask实战-留言板-使用Bootstrap-Flask简化页面编写

    使用Bootstrap-Flask简化页面编写 扩展Bootstrap-Flask内置了可以快速渲染Bootstrap样式HTML组件的宏,并提供了内置的Bootstap资源,方便快速开发,使用它可以 ...

  5. MQ知识点汇总

    1. MQ是什么 2. MQ能做什么 3. 消息模式 4. 使用MQ的时候需要注意什么 5. 常用MQ 6. MQ的不足 7. 什么时候不适用MQ 8. MQ的组成 9. MQ的关注点 1. MQ是什 ...

  6. linux下的CPU、内存、IO、网络的压力测试

    linux下的CPU.内存.IO.网络的压力测试  要远程测试其实很简单了,把结果放到一个微服务里直接在web里查看就可以了,或者同步到其他服务器上 一.对CPU进行简单测试: 1.通过bc命令计算特 ...

  7. python3 短网址和数字的相互转换的代码

    下面内容是关于python3 短网址和数字的相互转换的内容. import mathimport decimal def convert_to_code(num): """ ...

  8. Spring的事务

    事务:事务指的是逻辑上的一组操作,这组操作要么都成功,要么都失败. Transaction事务的四大特性ACID: 1.Atomicity原子性 事务的操作要么都成功,要么都不做,只要有一个失败,就会 ...

  9. SAP基本计量单位更改(转载)

    转载自:http://blog.csdn.net/sapmatinal/article/details/50997819 在SAP中物料创建后,一旦发生业务,其基本计量单位便很难修改.由于单位无法满足 ...

  10. 有些人表面风光,背地里for循环怎么写都要百度

    代码地址 https://github.com/ljshLLW/homework 题目 最大连续子数组和(最大子段和) 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n], ...