inquirer
inquirer是一套讓您可以製作互動指令的工具,透過inquirer可以達到像是node interpreter的功能。一般在做互動式安裝系統時,需要多次設定參數與環境,或選擇不同的安裝項目時,非常有用ㄛ。
Github repository
Installation
npm install inquirer
Sample Usae
怎麼使用inquirer呢?最簡單就是來個echo的程式,也就是執行後,你打什麼,他就回覆什麼 :D
File: echo.js
#!/usr/bin/env node
var inquirer = require('inquirer');
function it() {
inquirer.prompt([{
type: 'input',
name: 'cmd',
message: ' →',
}]).then(function (a) {
if(a.cmd == 'exit') process.exit(0);
console.log(a.cmd);
it();
});
}
it();
執行狀況:
$ node examples/inquirer/echo.js
? → hello
hello
? → Hello Simon!
Hello Simon!
? → exit
上面的程式中,prompt的輸入參數為需要帶入互動模式的指令,可以指定input, confirm, list...等方法,也可以帶入一些判斷讓指令模式更加聰明。
在then的callback中,所帶入的數值會以input裡面的name為名稱附加在input參數"a"中,例如上方input的name為cmd,則下方then callback的"a"所接收到的參數會帶入在a中...
a = { "cmd":"your-input-text" }
透過callback再呼叫原函式,則可以持續會到interactive模式,只有接收到'exit'時候會直接離開程式。