Inquirer.js 交互式命令行

2019-07-29  本文已影响0人  copyLeft

Inquirer.js 交互式命令行

例子

const inquirer = require('inquirer')


// 设置问题
inquirer.prompt([
    
    {
        type: 'input' // 问题类型
        name: 'name' // 数据属性名
        message: '名称' // 提示信息
        default: 'Rogan' // 默认值
    }
    
]).then( answers =>{
    // 处理结果
    console.log(`你的名字: `, answers.name)
    
} )

安装

// npm
npm --save-dev inquirer

// yarn
yarn -d inquirer

基本概念

QUESITONS 提问配置

问题类型

多步骤嵌套

const conf = [


    [

        {
            type: 'list',
            name: 'data',
            message: '选择语言',
            choices: [
    
               
                {
                    name: 'javascript', value: 1
                },
                {
                    name: 'go', value: 2
                },
                
                
            ]
        }
        
    ],

    [

        {
            type: 'list',
            name: 'data',
            message: '工作类型',
            choices: [
                {
                    name: 'web', value: 3,
                },
                {
                    name: 'node', value: 3
                }
            ]
        }
        
    ],
    [
        {
            type: 'list',
            name: 'data',
            message: '工作类型',
            choices: [
                {
                    name: 'docker',  value: 3
                },
                {
                    name: 'block chian', value: 3
                }
            ] 
        }
    ],
    [
        {
            type: 'number',
            name: 'data',
            message: '期望薪资',
        }
    ]
    
]


let step = 0;

function select({data}){

    if(step < 3){
        step++
        return inquirer.prompt(conf[data]).then(select)
    }else{
        console.log('end: ',  data)
    }
    
}

select({ data: step })

上一篇 下一篇

猜你喜欢

热点阅读