Inquirer.js

一個使用界面進行交互的命令行集合
4.0以上的版本只支持node 6以上的,node4請使用3.xnode

目標和理念(hilosophy)

努力去作一個容易的 嵌入式的(embeddable) 和優美的命令行界面
應該簡化一下的過程:
-提供一個錯誤回調
-詢問
-解析(parsing )輸入
-驗證答案
-管理層次提示npm

導入(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 對象
-返回一個promisepromise

inquirer.registerPrompt(name, prompt)
使用name註冊prompt
-name:prompt的名字
-prompt:prompt事件函數

inquirer.createPromptModule() -> prompt function
建立一個自包含的問答模塊,當你複寫或者添加一個新的問答模塊時,你不但願影響其餘模塊,你也能夠這麼作ui

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時候應該使用的行數this

Answers

在每個提示中包含答案的散列
-Key :question object的名稱
-Value :((他的類型取決於問題)
-confirm(boolern)
-input 用戶輸入的信息(若是使用了filter,則進行過濾)
-rawlist list:用戶選擇的值命令行

分隔符(Separator)
一個分隔符能夠被添加進choices 數組:code

// In the question object
choices: [ "Choice A", new inquirer.Separator(), "choice B" ]

// Which'll be displayed this way
[?] What do you want to do?
 > Order a pizza
   Make a reservation
   --------
   Ask opening hours
   Talk to the receptionist
相關文章
相關標籤/搜索