const fs = require('fs')
function copyDir(src, dist, callback) {
fs.access(dist, function(err){
if(err){
fs.mkdirSync(dist);
}
_copy(null, src, dist);
});
function _copy(err, src, dist) {
if(err){
callback(err);
} else {
try {
const paths = fs.readdirSync(src)
paths.forEach(function(path) {
const _src = src + '/' +path;
const _dist = dist + '/' +path;
fs.stat(_src, function(err, stat) {
if(err){
callback(err);
} else {
if(stat.isFile()) {
fs.writeFileSync(_dist, fs.readFileSync(_src));
} else if(stat.isDirectory()) {
copyDir(_src, _dist, callback)
}
}
})
})
} catch (err) {
callback(err)
}
}
}
}
const fs = require('fs')
const path = require('path')
const glob = require('glob')
const dirPath = process.cwd();
const fileList = glob.sync('*')
if (fileList.some((element) => element === answers.name)) {
console.log(`当前目录下存在同名文件夹\n`)
console.log(`创建失败\n`)
} else {
try {
fs.mkdirSync(`${dirPath}${answers.name}`)
console.log(logSymbols.success, `目录创建成功\n`)
const dirName = __dirname.split('')
dirName.splice(-4, 4)
const resultDirName = dirName.join('')
copyDir(path.join(resultDirName, 'packages'), path.join(dirPath, answers.name), (err) => {
if (err) {
console.log('模板下载失败')
}
})
} catch (err) {
console.log(logSymbols.error, chalk.green("目录创建失败"))
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)