UNPKG

gxm-build-cli

Version:

一个mini版的脚手架

64 lines (48 loc) 1.39 kB
const path = require('path') const fs = require('fs-extra') const inquirer =require('inquirer') const Generator = require('./generator'); module.exports = async function(name, options) { console.log(name, options); // 获取当前工作目录 const cwd = process.cwd() // 要创建的项目目录 const targetDir = path.join(cwd, name) if(fs.existsSync(targetDir)) { // 强制删除 if(options.force) { await fs.remove(targetDir) } else { // 通过inquirer:询问用户是否确定要覆盖 or 取消 const {action} = await inquirer.createPromptModule([ { name: 'action', type: 'list', message: '目录已经存在', choices: [ { name: '是否覆盖', value: 'overwrite' }, { name: '取消', value: false } ] } ]) if(!action) { return } else { // 删除文件夹 await fs.remove(targetDir) } } } const args = require('./ask'); // 通过inquirer,让用户输入的项目内容:作者和描述 const ask = await inquirer.prompt(args); // 创建项目 const generator = new Generator(name, targetDir, ask); generator.create(); }