用过vue或者react的用脚手架新建项目的应该都进行过命令交互,vue创建的时候会让你选择vue2还是vue3,也有多选要什么配置,也有输入y或者n选择是否用路由等,这其实用这个包都能实现 。
环境跟之前使用是一样的,初始化之后配置bin和npm link一下,这边就不再说了 。
安装:
npm
引入:
var= (‘’);
主要知道这几个类型类型,其他的有兴趣再去了解:
input,,list,,
方法用就行,另外两个和也可以自己去了解 。
我们按照顺序都展示出来,不管输入还是选择了什么,都继续下一种类型展示,代码:
typeInput();function typeInput() {inquirer.prompt([ {name: 'input',type: 'input',message: 'input: year, month and day',default: 'year'}]).then((res) => {console.log('Year: ' + res.input);typeConfirm();})}function typeConfirm(){inquirer.prompt([ {name: 'confirm',type: 'confirm',message: 'confirm',default: true}]).then((res) => {console.log('confirm: ' + res.confirm);typeList();})}function typeList(){inquirer.prompt([ {name: 'list',type: 'list',message: 'list',choices: ['red', 'blue', 'yellow'],default: 1}]).then((res) => {console.log('list: ' + res.list);typeCheckbox();})}function typeCheckbox(){inquirer.prompt([ {name: 'checkbox',type: 'checkbox',message: 'checkbox',choices: ['red', 'blue', 'yellow'],default: ['blue']}]).then((res) => {console.log('checkbox: ' + res.checkbox);typePassword();})}function typePassword(){inquirer.prompt([ {name: 'password',type: 'password',message: 'password',mask: false //是否出现*号}]).then((res) => {console.log('password: ' + res.password);})}
文章插图
方法返回的是,用的时候也可以配合async和await,返回的字段就是name字段:
【node命令交互inquirer】
typeCheckbox();async function typeCheckbox() {let {checkbox} = await inquirer.prompt([{name: 'checkbox',type: 'checkbox',message:'checkbox',choices: ['red', 'blue', 'yellow'],default: ['blue']}]);console.log('checkbox ' + checkbox);}
效果:
和可以说是命令行交互最基本的两个包,这两个包的基本用法已经足够我们去开发一个cli的命令行交互操作 。
- 基于inquirer实现一个控制台多级选择交互功能
- ubuntu操作命令
- nodejs 4.4. Express写接口---使用CORS解决跨域问题
- Node.js-----使用express写接口
- Nodejs基于Express4的动态页面静态化
- node.js中的Express-路由-express中间件
- Node.js:Express( express 路由,express 中间件
- grunt基于NodeJS打包压缩JS和CSS
- 关于vue打包时 npm run build 命令 报错的解决方法
- CentOS6.3 系统中su,su -,sudo三命令讲解