宝哥软件园

inquirer.js用户与命令行交互的工具

编辑:宝哥软件园 来源:互联网 时间:2021-08-23

写在前面:

当您开始通过npm init创建package.json时,与用户的交互非常多(当然,您可以通过参数忽略输入);目前大多数项目都是通过脚手架创建的,与命令行最明显的交互就是在使用脚手架的时候。如果你想自己搭建一个脚手架,或者在某些时候和用户互动,这时候就不得不提到inquirer.js。

零。介绍

因为有不同种类的交互式问题,询问者为每个问题提供许多参数:

类型:表示问题的类型,包括:输入、确认、列表、列表、展开、复选框、密码、编辑器;Name:存储当前问题答案的变量;消息:问题描述;默认值:默认值;选项:列表选项,在特定类型下可用,包含分隔符;验证:验证用户的答案;过滤:过滤用户的回答,返回处理后的值;Transformer:处理用户答案的显示效果(如修改答案的字体或背景色),但不会影响最终答案的内容;当:根据上一个问题的答案,判断当前问题是否需要回答;PageSize:修改某些类型类型下的渲染行数;前缀:修改消息的默认前缀;后缀:修改消息的默认后缀。以上属性(变压器除外)在下面对应使用。

一、使用

0.语法结构

const inquirer=require(' inquirer ');Const promptList=[//具体互动内容];inquirer.prompt(promptList)。然后(答案={ console.log(答案);//返回结果})1。投入

Const提示列表=[{type:' input ',message: '设置用户名3360 ',name3360' name ',default3360' test _ user'/默认值},{type:' input ',Message: '请输入手机号码: ',name :' phone ',验证:函数(val) {if (val。匹配(/ d { 11 }/g)){//校验位返回值;}返回“请输入11位数字”;}}];效果:

input

2.确认

常量提示列表=[{type:' confirm ',message: '是否要使用侦听',name :“watch”,prefix :“prefix”},type :“confirm”,message:“是否要筛选文件?”,name: 'filter ',suffix:' suffix ',when: function(answers) {//当watch为true时会询问当前问题。return answers . watch } }];效果:

confirm_y

confirm_n

3.目录

Const提示列表=[{type:' list ',message: '请选择一个水果: ',name3360 '水果',选项: ['苹果','梨','香蕉'],Filter:函数(val) {//使用Filter将答案改为小写return val . tolowercase();}}];效果:

list_1

list

4.罗尔斯主义者

Const提示列表=[{type :' rawlist ',message : '请选择一个水果: ',name : '水果',选项: ['苹果','梨','香蕉']}];效果:

rawlist

5.发展

Const提示列表=[{type:' expand ',message: '请选择一个水果:',name: '水果',选项: [{key:' a ',name:' apple ',value: 'apple' },{ key: 'O ',name: 'Orange ',value: 'orange' },{ key: 'p ',name: ' Pear ',value 3360效果:

expend_1

expend_2

6.检验盒

const PromptList=[{ type : ' checkbox ',message: '选择颜色: ',名称: '颜色,选项: [ {名称: '红色' },新查询者。分隔符(),//添加分隔符{ name: 'blur ',checked: true //默认选中},{ name: 'green' },new inquirer .分隔符('-分隔符- '), //自定义分隔符{ name : }黄色' }]}];//或者下面这样const PromptList=[{ type : ' checkbox ',message: '选择颜色: ',名称: '颜色,选项: ['红色','模糊','绿色','黄色'],页面大小: 2 //设置行数}];效果:

checkbox_sep

checkbox_size

7.密码

const PromptList=[{键入: ' password ',//密码为密文输入消息: '请输入密码:',名称: ' pwd ' }];效果:

pwd

8.编辑

const PromptList=[{ type : ' editor ',message: '请输入备注:',name : ' editor ' }];效果:

editor_inset

editor_res

写在后面:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+