每日一包0024 inquirer

2021-09-13 01:41:29 字數 2744 閱讀 6638

好用的互動命令列工具
方法

1.inquirer.prompt(questions) -> promise 啟動提示介面並返回promise

const req = require('inquirer');

req.prompt().then(as=>).catch(err=>)

/** ? 請輸入您的名字 小明

您的名字是:小明

*/

2.inquirer.registerprompt(name, prompt) 在name下面註冊提示外掛程式

3.inquirer.createpromptmodule() -> prompt function

提問的問題物件屬性

type:提示的型別(string),預設為input,也可以設定為input, confirm, list, rawlist, expand, checkbox, password, editor;

name:接受答案的key(string),當問題被回答,答案會以物件形式返回;

message:用於設定提問的問題(string|function),如果設定為function,該function的第乙個引數為近期回答的答案構成的物件;

req.prompt([,

,請輸入您的年齡?`

},name: 'age'

}]).then(as=>)

/**? 請輸入你的名字? 小明

? 小明,請輸入您的年齡? 12

*/

default:如果使用者沒有回答,預設值存在則為該問題賦值預設答案(string|number|boolean|array|function),如果設定為function,該function的第乙個引數為近期回答的答案構成的物件;

choices:用於設定選擇的列表(array|function),如果設定為function,該function的第乙個引數為近期回答的答案構成的物件;

req.prompt().then(as=>).catch(err=>)

/**? 請選擇性別 女

*/

validate:用來校驗輸入的答案是否符合要求(function),該function的第乙個引數為近期回答的答案,通過返回boolean來判斷是否校驗通過,如果未通過則重新進入輸入介面;

req.prompt([$/))

console.log('\n您輸入的**號碼格式不對,請重新輸入')

return false;

}}]).then(as=>).catch(err=>)

/**? 請輸入您的**號碼? 110

您輸入的**號碼格式不對,請重新輸入

? 請輸入您的**號碼? 16619928930

*/

filter:對輸入的答案進行處理後返回新的答案(function),該function的第乙個引數為近期回答的答案

req.prompt([

}]).then(as=>).catch(err=>)

/** ❯◯ 男

◯ 女*/

transformer:對使用者的問題進行轉換(!!!!我沒看懂這個是幹嘛的,有看懂的求指教)(function)

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

req.prompt([,

}]).then(as=>).catch(err=>)

/**? 請問你結婚了嗎? 未結婚

*/

pagesize:設定選擇列表每頁顯示的可選項數目(number)

prefix:給問題前面新增內容(string)

req.prompt().then(as=>).catch(err=>)

/** 您好 請輸入您的名字 ww

您的名字是:ww

*/

suffix:給問題後面新增內容(string)

設定新的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().then(as=>).catch(err=>)

採用迭代器模式
const req = require('inquirer');

const rx = require('rxjs');

var prompts = new rx.subject();

req.prompt(prompts);

prompts.next();

prompts.next();

prompts.complete();

每日一包0027 statuses

statuses koa2原始碼依賴 http狀態碼工具包var code status integer string 返回對應的狀態碼status 403 403 status 403 403 status forbidden 403 status forbidden 403 status 306...

每日一包0019 mem

mem用於通過快取具有相同輸入的呼叫結果來加速連續函式呼叫的優化普通用法 支援基於promise的非同步函式呼叫 const mem require mem let i 0 let a i let mem a mem a mem a console.log i 1 mem a console.log...

每日一包0030 chalk

美化終端的字串樣式你可以像下面這樣簡單的使用它const chalk require chalk const log console.log 將樣式字串和普通字串合併使用 log chalk.blue hello world chalk.red 採用鏈式方法呼叫多個api log chalk.blu...