You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
const chalk = require('chalk');
|
|
const path = require('path');
|
|
const fs = require('fs-extra');
|
|
|
|
module.exports = function(projectName, templateType) {
|
|
console.log('创建项目:', projectName);
|
|
console.log('类型:', templateType);
|
|
/**
|
|
* 类型:
|
|
* 1 platform
|
|
* 2 application
|
|
* 3 component
|
|
*/
|
|
|
|
console.log(chalk.white('\n 开始初始化... \n'));
|
|
|
|
return new Promise(async (resolve, reject) => {
|
|
// 创建文件目录
|
|
const dir = `${projectName}`;
|
|
await fs.ensureDir(dir).then(res => {
|
|
console.log('创建成功');
|
|
console.log(res);
|
|
}).catch(err => {
|
|
console.log('创建失败');
|
|
});
|
|
|
|
// 复制文件
|
|
switch (parseInt(templateType)) {
|
|
case 1:
|
|
console.log('框架');
|
|
console.log(__dirname);
|
|
|
|
fs.copy(path.join(__dirname, '../../templates/platform'), projectName)
|
|
.then(() => console.log('success!'))
|
|
.catch(err => console.error(err));
|
|
break;
|
|
case 2:
|
|
console.log('应用');
|
|
break;
|
|
case 3:
|
|
console.log('组件库');
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
});
|
|
|
|
}
|