1.获取命令行:yargs-parser
args[0] 创建的目录名称
const yParser = require('yargs-parser');// 获取命令行参数,从下标2开始const args = yParser(process.argv.slice(2));
2.命令行交互:inquirer
const run = async (config) => { // node子进程emit process.send && process.send({ type: 'prompt' }); process.emit('message', { type: 'prompt' }); let { type } = config; if (!type) { const answers = await inquirer.prompt([ { name: 'type', message: 'Select the boilerplate type', type: 'list', choices: generators, }, ]); type = answers.type; } try { return runGenerator(`./generators/${type}`, config); } catch (e) { console.error(chalk.red('> Generate failed'), e); process.exit(1); }};