成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【每日一包0024】inquirer

zhaot / 1504人閱讀

摘要:地址好用的交互命令行工具方法啟動(dòng)提示界面并返回請(qǐng)輸入您的名字您的名字是請(qǐng)輸入您的名字小明您的名字是小明在下面注冊(cè)提示插件提問的問題對(duì)象屬性提示的類型,默認(rèn)為,也可以設(shè)置為接受答案的,當(dāng)問題被回答,答案會(huì)以對(duì)象形式返回用于設(shè)置提問的問題如

[github地址:https://github.com/ABCDdouyae...]

inquirer
好用的交互命令行工具
方法
1.inquirer.prompt(questions) -> promise 啟動(dòng)提示界面并返回promise
const req = require("inquirer");
req.prompt([{
    type: "string",
    message:"請(qǐng)輸入您的名字",
    name: "name"
}]).then(as=>{
    console.log("您的名字是:"+as.name)
}).catch(err=>{console.log(err)})

/**
 ? 請(qǐng)輸入您的名字 小明
您的名字是:小明
 */
2.inquirer.registerPrompt(name, prompt) 在name下面注冊(cè)提示插件
3.inquirer.createPromptModule() -> prompt function
提問的問題對(duì)象屬性

type:提示的類型(String),默認(rèn)為input,也可以設(shè)置為input, confirm, list, rawlist, expand, checkbox, password, editor;

name:接受答案的key(String),當(dāng)問題被回答,答案會(huì)以對(duì)象形式返回;

message:用于設(shè)置提問的問題(String|Function),如果設(shè)置為function,該function的第一個(gè)參數(shù)為近期回答的答案構(gòu)成的對(duì)象;

req.prompt([{
     type:"input",
     message:"請(qǐng)輸入你的名字?",
     name:"name",
 },
    {
     type:"input",
     message: function(e){
         return `${e.name},請(qǐng)輸入您的年齡?`
     },
     name: "age"
 }]).then(as=>{
     console.log(as)
 })

 /**
? 請(qǐng)輸入你的名字? 小明
? 小明,請(qǐng)輸入您的年齡? 12
{ name: "小明", age: "12" }
  */

default:如果用戶沒有回答,默認(rèn)值存在則為該問題賦值默認(rèn)答案(String|Number|Boolean|Array|Function),如果設(shè)置為function,該function的第一個(gè)參數(shù)為近期回答的答案構(gòu)成的對(duì)象;

choices:用于設(shè)置選擇的列表(Array|Function),如果設(shè)置為function,該function的第一個(gè)參數(shù)為近期回答的答案構(gòu)成的對(duì)象;

req.prompt([{
    type: "list",
    message:"請(qǐng)選擇性別",
    name: "name",
    choices: ["男", "女"]
}]).then(as=>{
    console.log(as)
}).catch(err=>{console.log(err)})

/**
? 請(qǐng)選擇性別 女
{ name: "女" }
 */

validate:用來校驗(yàn)輸入的答案是否符合要求(Function),該function的第一個(gè)參數(shù)為近期回答的答案,通過返回boolean來判斷是否校驗(yàn)通過,如果未通過則重新進(jìn)入輸入界面;

req.prompt([{
    type: "input",
    message:"請(qǐng)輸入您的電話號(hào)碼?",
    name: "mobile",
    validate:function(e){
        if(e.match(/^[1][2,3,5,6,7,8][0-9]{9}$/)){return true}
        console.log("
您輸入的電話號(hào)碼格式不對(duì),請(qǐng)重新輸入")
        return false;
    }
}]).then(as=>{
    console.log(as)
}).catch(err=>{console.log(err)})

/**
? 請(qǐng)輸入您的電話號(hào)碼? 110
您輸入的電話號(hào)碼格式不對(duì),請(qǐng)重新輸入
? 請(qǐng)輸入您的電話號(hào)碼? 16619928930
{ mobile: "16619928930" }
 */

filter:對(duì)輸入的答案進(jìn)行處理后返回新的答案(Function),該function的第一個(gè)參數(shù)為近期回答的答案

req.prompt([{
    type: "checkbox",
    message:"請(qǐng)選擇性別?",
    name: "sex",
    choices:["男", "女"],
    filter:function(e){
        let sex = "";
        e === "女" ? sex = "woman" : sex = "man";
        return sex;
    }
}]).then(as=>{
    console.log(as)
}).catch(err=>{console.log(err)})

/**
 ?? 男
  ? 女
  { sex: "man" }
 */

transformer:對(duì)用戶的問題進(jìn)行轉(zhuǎn)換(?。。?!我沒看懂這個(gè)是干嘛的,有看懂的求指教)(Function)

when:用來設(shè)定這個(gè)問題是否有必要被提問(Function),返回boolean,返回false表示忽略這個(gè)問題,該function的第一個(gè)參數(shù)為近期回答的答案

 req.prompt([{
    type: "list",
    message:"請(qǐng)問你結(jié)婚了嗎?",
    name: "isMarry",
    choices:["結(jié)婚", "未結(jié)婚"],
},{
    type: "input",
    message:"請(qǐng)問你孩子多大了?",
    name: "age",
    when:function(e){
     return e.isMarry === "結(jié)婚"
    }
}]).then(as=>{
    console.log(as)
}).catch(err=>{console.log(err)})
/**
? 請(qǐng)問你結(jié)婚了嗎? 未結(jié)婚
{ isMarry: "未結(jié)婚" } 
 */

pageSize:設(shè)置選擇列表每頁(yè)顯示的可選項(xiàng)數(shù)目(Number)

prefix:給問題前面添加內(nèi)容(String)

req.prompt([{
    type: "string",
    message:"請(qǐng)輸入您的名字",
    name: "name",
    prefix:"您好"
}]).then(as=>{
    console.log("您的名字是:"+as.name)
}).catch(err=>{console.log(err)})
/**
 您好 請(qǐng)輸入您的名字 ww
 您的名字是:ww
 */

suffix:給問題后面添加內(nèi)容(String)

設(shè)置新的UI顯示
var ui = new req.ui.BottomBar();

// During processing, update the bottom bar content to display a loader
// or output a progress bar, etc
ui.updateBottomBar("new bottom bar content");

req.prompt([{
    type: "string",
    message:"請(qǐng)輸入您的名字",
    name: "name",
    prefix:"您好"
}]).then(as=>{
    console.log("您的名字是:"+as.name)
}).catch(err=>{console.log(err)})
采用迭代器模式
const req = require("inquirer");
const Rx = require("rxjs");
var prompts = new Rx.Subject();
req.prompt(prompts);

prompts.next({
    type: "string",
    message:"請(qǐng)輸入您的名字",
    name: "name",
});
prompts.next({
    type: "string",
    message:"請(qǐng)輸入您的性別",
    name: "sex",
});

prompts.complete();

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/114366.html

相關(guān)文章

  • 每日一包0024inquirer

    摘要:地址好用的交互命令行工具方法啟動(dòng)提示界面并返回請(qǐng)輸入您的名字您的名字是請(qǐng)輸入您的名字小明您的名字是小明在下面注冊(cè)提示插件提問的問題對(duì)象屬性提示的類型,默認(rèn)為,也可以設(shè)置為接受答案的,當(dāng)問題被回答,答案會(huì)以對(duì)象形式返回用于設(shè)置提問的問題如 [github地址:https://github.com/ABCDdouyae...] inquirer 好用的交互命令行工具 方法 1.inquir...

    libin19890520 評(píng)論0 收藏0
  • 每日一包0024inquirer

    摘要:地址好用的交互命令行工具方法啟動(dòng)提示界面并返回請(qǐng)輸入您的名字您的名字是請(qǐng)輸入您的名字小明您的名字是小明在下面注冊(cè)提示插件提問的問題對(duì)象屬性提示的類型,默認(rèn)為,也可以設(shè)置為接受答案的,當(dāng)問題被回答,答案會(huì)以對(duì)象形式返回用于設(shè)置提問的問題如 [github地址:https://github.com/ABCDdouyae...] inquirer 好用的交互命令行工具 方法 1.inquir...

    robin 評(píng)論0 收藏0
  • Python每日一練0024

    摘要:?jiǎn)栴}如何執(zhí)行外部命令,如解決方案使用庫(kù)在之前,使用函數(shù)在及之后,使用函數(shù)討論命令的執(zhí)行默認(rèn)不需要環(huán)境,所以當(dāng)你使用作為參數(shù)時(shí),需要將置位,否則會(huì)報(bào)錯(cuò)誤通常來說對(duì)于執(zhí)行系統(tǒng)命令,我們會(huì)想到,但在官方文檔中已經(jīng)建議了使 問題 如何執(zhí)行外部命令,如ls -l 解決方案 使用subprocess庫(kù) 在Python 3.5之前,使用subprocess.call()函數(shù) >>> import s...

    wqj97 評(píng)論0 收藏0
  • 每日一包0029】merge-descriptors

    摘要:地址源碼依賴一個(gè)對(duì)象的屬性繼承另一個(gè)對(duì)象的屬性及其屬性描述符用法繼承者,被繼承者是否繼承者有該屬性的時(shí)候繼承默認(rèn)不繼承返回繼承后的新的對(duì)象當(dāng)?shù)谌齻€(gè)參數(shù)為時(shí)候,原對(duì)象又該屬性則沒有繼承被繼承者的屬性和屬性描述符 [github地址:https://github.com/ABCDdouyae...] merge-descriptors (express源碼依賴) 一個(gè)對(duì)象的屬性繼承另一個(gè)對(duì)...

    kun_jian 評(píng)論0 收藏0
  • 每日一包0029】merge-descriptors

    摘要:地址源碼依賴一個(gè)對(duì)象的屬性繼承另一個(gè)對(duì)象的屬性及其屬性描述符用法繼承者,被繼承者是否繼承者有該屬性的時(shí)候繼承默認(rèn)不繼承返回繼承后的新的對(duì)象當(dāng)?shù)谌齻€(gè)參數(shù)為時(shí)候,原對(duì)象又該屬性則沒有繼承被繼承者的屬性和屬性描述符 [github地址:https://github.com/ABCDdouyae...] merge-descriptors (express源碼依賴) 一個(gè)對(duì)象的屬性繼承另一個(gè)對(duì)...

    printempw 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

zhaot

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<