UNPKG

croot-cli

Version:

根网大数据平台前端脚手架

72 lines (70 loc) 1.8 kB
const path = require("path"); const fs = require("fs-extra"); const inquirer = require("inquirer"); const Generator = require("./Generator"); module.exports = async function (name, options) { const cwd = process.cwd(); // 需要创建的目录地址 const targetAir = path.join(cwd, name); // 目录是否已经存在? if (fs.existsSync(targetAir)) { if (options.force) { await fs.remove(targetAir); } else { // 是否要覆盖已经存在文件 let { action } = await inquirer.prompt([ { name: "action", type: "list", message: "目录已存在,请选择是否覆盖:", choices: [ { name: "overwrite", value: "overwrite", }, { name: "Cancel", value: false, }, ], }, ]); if (!action) { return; } else if (action === "overwrite") { // 移除已存在的目录 console.log(`\r\nRemoving...`); await fs.remove(targetAir); } } } let { action } = await inquirer.prompt([ { name: "action", type: "list", message: "请选择项目模板:", choices: [ { name: "nuxt-vue模板(vue SSR服务端渲染)", value: "nuxt", }, { name: "create-react-app模板(spa单页面)", value: "react", }, { name: "vue-cli模板(spa单页面)", value: "vue", }, { name: "vite-vue模板(spa单页面)", value: "vite-vue", }, ], }, ]); // 创建项目 const generator = new Generator(name, targetAir, action); // 开始创建项目 generator.create(); };