写在前面:
当您开始通过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位数字”;}}];效果:
2.确认
常量提示列表=[{type:' confirm ',message: '是否要使用侦听',name :“watch”,prefix :“prefix”},type :“confirm”,message:“是否要筛选文件?”,name: 'filter ',suffix:' suffix ',when: function(answers) {//当watch为true时会询问当前问题。return answers . watch } }];效果:
3.目录
Const提示列表=[{type:' list ',message: '请选择一个水果: ',name3360 '水果',选项: ['苹果','梨','香蕉'],Filter:函数(val) {//使用Filter将答案改为小写return val . tolowercase();}}];效果:
4.罗尔斯主义者
Const提示列表=[{type :' rawlist ',message : '请选择一个水果: ',name : '水果',选项: ['苹果','梨','香蕉']}];效果:
5.发展
Const提示列表=[{type:' expand ',message: '请选择一个水果:',name: '水果',选项: [{key:' a ',name:' apple ',value: 'apple' },{ key: 'O ',name: 'Orange ',value: 'orange' },{ key: 'p ',name: ' Pear ',value 3360效果:
6.检验盒
const PromptList=[{ type : ' checkbox ',message: '选择颜色: ',名称: '颜色,选项: [ {名称: '红色' },新查询者。分隔符(),//添加分隔符{ name: 'blur ',checked: true //默认选中},{ name: 'green' },new inquirer .分隔符('-分隔符- '), //自定义分隔符{ name : }黄色' }]}];//或者下面这样const PromptList=[{ type : ' checkbox ',message: '选择颜色: ',名称: '颜色,选项: ['红色','模糊','绿色','黄色'],页面大小: 2 //设置行数}];效果:
7.密码
const PromptList=[{键入: ' password ',//密码为密文输入消息: '请输入密码:',名称: ' pwd ' }];效果:
8.编辑
const PromptList=[{ type : ' editor ',message: '请输入备注:',name : ' editor ' }];效果:
写在后面:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。