simple-frame-unit
Version:
基于vue2 研发的与simple-data后端配合使用的组件
45 lines (39 loc) • 1.49 kB
JavaScript
const fs = require('fs');
const path = require('path');
const fse = require('fs-extra');
// 使用方式
// node ./import.easydata.js [动态表单项目路径]
function ImportEasyData(form, to) {
// 项目路径
const projectPath = process.argv[2] || path.join('..', form);
// 项目中具体文件的父级文件夹
const sourcePath = path.join(projectPath, '/lib');
if (!fs.existsSync(sourcePath)) {
console.error(sourcePath, '项目不存在, 请检查路径');
throw '项目不存在, 请检查路径';
}
const EmptyFolder = (fuckPath) => {
fs.readdirSync(fuckPath).forEach((file, index, arr) => {
if (fs.lstatSync(`${fuckPath}/${file}`).isFile()) {
fs.unlinkSync(`${fuckPath}/${file}`)
} else if (fs.lstatSync(`${fuckPath}/${file}`).isDirectory()) {
EmptyFolder(`${fuckPath}/${file}`)
fs.rmdirSync(`${fuckPath}/${file}`)
}
})
}
// 需要复制到的地方
const targetPath = path.join(__dirname, to);
if (!fs.existsSync(targetPath)) {
fs.mkdirSync(targetPath, {
recursive: true,
});
} else {
// 删除指定文件夹下面的所有文件或文件夹
EmptyFolder(targetPath)
}
// 获取目标目录下的所有内容, 开始复制
fse.copySync(sourcePath, targetPath);
}
// 导入simple-base-unit
ImportEasyData('ed-base-vue', '/src/components/ed-base-vue')