亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

inquirer.js一個用戶與命令行交互的工具詳解

2024-05-06 16:51:03
字體:
來源:轉載
供稿:網友

寫在前面:

開始通過npm init 創建package.json的時候就有大量與用戶的交互(當然也可以通過參數來忽略輸入);而現在大多數工程都是通過腳手架來創建的,使用腳手架的時候最明顯的就是與命令行的交互,如果想自己做一個腳手架或者在某些時候要與用戶進行交互,這個時候就不得不提到inquirer.js了。

零. 介紹

由于交互的問題種類不同,inquirer為每個問題提供很多參數:

  • type:表示提問的類型,包括:input, confirm, list, rawlist, expand, checkbox, password, editor;
  • name: 存儲當前問題回答的變量;
  • message:問題的描述;
  • default:默認值;
  • choices:列表選項,在某些type下可用,并且包含一個分隔符(separator);
  • validate:對用戶的回答進行校驗;
  • filter:對用戶的回答進行過濾處理,返回處理后的值;
  • transformer:對用戶回答的顯示效果進行處理(如:修改回答的字體或背景顏色),但不會影響最終的答案的內容;
  • when:根據前面問題的回答,判斷當前問題是否需要被回答;
  • pageSize:修改某些type類型下的渲染行數;
  • prefix:修改message默認前綴;
  • suffix:修改message默認后綴。

上面的屬性(除transformer外)在下面都有對應使用。

一. 使用

0. 語法結構

const inquirer = require('inquirer');const promptList = [  // 具體交互內容];inquirer.prompt(promptList).then(answers => {  console.log(answers); // 返回的結果})

1. input

const promptList = [{  type: 'input',  message: '設置一個用戶名:',  name: 'name',  default: "test_user" // 默認值},{  type: 'input',  message: '請輸入手機號:',  name: 'phone',  validate: function(val) {    if(val.match(//d{11}/g)) { // 校驗位數      return val;    }    return "請輸入11位數字";  }}];

效果: 

inquirer.js,用戶,命令行交互

2. confirm

const promptList = [{  type: "confirm",  message: "是否使用監聽?",  name: "watch",  prefix: "前綴"},{  type: "confirm",  message: "是否進行文件過濾?",  name: "filter",  suffix: "后綴",  when: function(answers) { // 當watch為true的時候才會提問當前問題    return answers.watch  }}];

效果: 

inquirer.js,用戶,命令行交互

inquirer.js,用戶,命令行交互

3. list

const promptList = [{  type: 'list',  message: '請選擇一種水果:',  name: 'fruit',  choices: [    "Apple",    "Pear",    "Banana"  ],  filter: function (val) { // 使用filter將回答變為小寫    return val.toLowerCase();  }}];

效果: 

inquirer.js,用戶,命令行交互

inquirer.js,用戶,命令行交互

4. rawlist

const promptList = [{  type: 'rawlist',  message: '請選擇一種水果:',  name: 'fruit',  choices: [    "Apple",    "Pear",    "Banana"  ]}];

效果: 

inquirer.js,用戶,命令行交互

5. expand

const promptList = [{  type: "expand",  message: "請選擇一種水果:",  name: "fruit",  choices: [    {      key: "a",      name: "Apple",      value: "apple"    },    {      key: "O",      name: "Orange",      value: "orange"    },    {      key: "p",      name: "Pear",      value: "pear"    }  ]}];

效果: 

inquirer.js,用戶,命令行交互

inquirer.js,用戶,命令行交互

6. checkbox

const promptList = [{  type: "checkbox",  message: "選擇顏色:",  name: "color",  choices: [    {      name: "red"    },    new inquirer.Separator(), // 添加分隔符    {      name: "blur",      checked: true // 默認選中    },    {      name: "green"    },    new inquirer.Separator("--- 分隔符 ---"), // 自定義分隔符    {      name: "yellow"    }  ]}];// 或者下面這樣const promptList = [{  type: "checkbox",  message: "選擇顏色:",  name: "color",  choices: [    "red",    "blur",    "green",    "yellow"  ],  pageSize: 2 // 設置行數}];

效果: 

inquirer.js,用戶,命令行交互

inquirer.js,用戶,命令行交互

7. password

const promptList = [{  type: "password", // 密碼為密文輸入  message: "請輸入密碼:",  name: "pwd"}];

效果: 

inquirer.js,用戶,命令行交互

8. editor

const promptList = [{  type: "editor",  message: "請輸入備注:",  name: "editor"}];

效果: 

inquirer.js,用戶,命令行交互

inquirer.js,用戶,命令行交互

寫在后面:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩中文字幕在线| 国产精品青青在线观看爽香蕉| 2019最新中文字幕| 中文字幕亚洲无线码a| 国产精品一区二区久久久| 亚洲老头老太hd| 神马国产精品影院av| 日本成熟性欧美| 欧美激情一二区| 久久久久北条麻妃免费看| 欧美日韩成人在线观看| 国产精品电影久久久久电影网| 亚洲精品第一国产综合精品| 久久久久久这里只有精品| 美日韩丰满少妇在线观看| 欧美性猛交xxx| 中文字幕亚洲欧美日韩2019| 精品一区电影国产| 亚洲另类激情图| 久久亚洲精品毛片| 国产精品日韩av| 欧洲成人在线视频| 欧美精品久久久久| 国产精品av网站| 午夜精品久久久久久久白皮肤| 成人av在线网址| 日韩精品视频在线免费观看| 中文字幕久热精品在线视频| 久久视频这里只有精品| 亚洲精品www久久久| 日韩亚洲综合在线| 日本人成精品视频在线| 国产z一区二区三区| 国产精品亚洲一区二区三区| 欧美日韩免费区域视频在线观看| 狠狠躁18三区二区一区| 国产成人av网| 国产精品日韩欧美大师| 日本亚洲精品在线观看| 久久精品国产亚洲| 日韩美女视频在线观看| 国产xxx69麻豆国语对白| 亚洲sss综合天堂久久| 欧美亚洲国产视频| 九九九久久久久久| 亚洲国产成人久久综合| 亚洲激情久久久| 亚洲视频在线免费看| 久久色免费在线视频| 色狠狠av一区二区三区香蕉蜜桃| 中文字幕精品一区久久久久| 精品国产依人香蕉在线精品| 88国产精品欧美一区二区三区| 高清视频欧美一级| 宅男66日本亚洲欧美视频| 亚洲成年人在线| 欧美大人香蕉在线| 91香蕉国产在线观看| 亚洲精品国产欧美| 成人在线一区二区| 91成人免费观看网站| 北条麻妃99精品青青久久| 日韩电影中文字幕av| 5278欧美一区二区三区| 日本欧美爱爱爱| zzijzzij亚洲日本成熟少妇| 成人免费观看a| 欧美精品18videos性欧| 日日噜噜噜夜夜爽亚洲精品| 欧美理论电影网| 国产精品18久久久久久麻辣| 色阁综合伊人av| 亚洲综合日韩中文字幕v在线| 亚洲欧美综合图区| 成人激情电影一区二区| 日韩av免费在线播放| 欧美综合一区第一页| 国产精品夜间视频香蕉| 亚洲精品在线观看www| 欧美一级黑人aaaaaaa做受| 亚洲精品福利在线| 91精品啪在线观看麻豆免费| 亚洲性生活视频| 亚洲成人免费网站| 国产亚洲欧美日韩精品| 欧美亚洲国产视频| 97超碰国产精品女人人人爽| 综合av色偷偷网| 欧美亚洲视频在线看网址| 欧美精品少妇videofree| 久久久精品国产| 啪一啪鲁一鲁2019在线视频| 欧美日韩国产综合视频在线观看中文| 久久视频在线免费观看| 亚洲精品国产精品国自产在线| 亚洲www视频| 欧美专区在线观看| 国产亚洲一级高清| 久久久久九九九九| 国产精品美腿一区在线看| 亚洲成人三级在线| 成人h视频在线| 日韩免费在线免费观看| 欧美有码在线观看视频| 97视频免费在线观看| 欧美精品久久久久久久| 91精品中文在线| 少妇久久久久久| 国产69精品久久久久9999| 一区二区欧美在线| 92看片淫黄大片欧美看国产片| 黄色精品一区二区| 精品自在线视频| 亚洲网在线观看| 日韩女优人人人人射在线视频| 26uuu国产精品视频| 久久久久久69| 亚洲精品久久久久久久久久久久久| 中文欧美日本在线资源| 热re91久久精品国99热蜜臀| 精品中文字幕在线| 色偷偷综合社区| 亚洲欧美日韩区| 国产精品久久久久久av下载红粉| 亚州成人av在线| 日韩经典一区二区三区| 57pao国产精品一区| 国产日韩欧美在线观看| 一区二区三区四区精品| 精品亚洲一区二区三区四区五区| 国产精品第一视频| 国产欧美日韩免费看aⅴ视频| 欧美成人精品在线观看| 欧美高清视频在线| 久久久综合av| 欧美在线一区二区视频| 久久理论片午夜琪琪电影网| 影音先锋欧美精品| 亚洲毛片在线观看| 欧美激情视频播放| 成人午夜高潮视频| 欧美亚洲在线观看| 性欧美暴力猛交69hd| 欧美精品在线第一页| 亚洲乱码av中文一区二区| 岛国av在线不卡| 这里只有精品视频| 成人网址在线观看| 伊人青青综合网站| 欧美午夜女人视频在线| 97香蕉久久超级碰碰高清版| 久久久亚洲成人| 欧美黄色片在线观看| 亚洲欧美另类人妖| 久久亚洲综合国产精品99麻豆精品福利| 日本欧美在线视频| 国产精品成人在线| 亚洲综合在线中文字幕| 丝袜美腿精品国产二区| 日本亚洲欧美成人| 亚洲伊人成综合成人网| 亚洲综合中文字幕68页| 欧美一区三区三区高中清蜜桃| 欧美高清在线观看|