ef47f4df5e
This reverts commit 5c8ef2ad03
.
71 lines
1.8 KiB
JavaScript
71 lines
1.8 KiB
JavaScript
/**
|
|
* 同步图形框架文件到 src/jl-graphic/
|
|
*/
|
|
const {
|
|
readdirSync,
|
|
existsSync,
|
|
copyFileSync,
|
|
mkdirSync,
|
|
rmSync,
|
|
} = require('fs');
|
|
const { resolve } = require('path');
|
|
|
|
const jlGraphicSrcPath = resolve(__dirname, '../graphic-pixi/src/jlgraphic');
|
|
const jlGraphicLibPath = resolve(__dirname, '../src/jl-graphic');
|
|
|
|
/**
|
|
* 检查并初始化当前项目引入的jl-graphic库
|
|
*/
|
|
function checkAndInitJlGraphicLib() {
|
|
const exist = existsSync(jlGraphicLibPath);
|
|
if (exist) {
|
|
console.log('jl-graphic文件夹已存在,清空');
|
|
readdirSync(jlGraphicLibPath, {
|
|
withFileTypes: true,
|
|
}).forEach((file) => {
|
|
if (file.isDirectory()) {
|
|
rmSync(resolve(jlGraphicLibPath, file.name), { recursive: true });
|
|
} else {
|
|
rmSync(resolve(jlGraphicLibPath, file.name));
|
|
}
|
|
});
|
|
} else {
|
|
console.log('jl-graphic文件夹不存在,创建');
|
|
// 文件夹不存在,创建
|
|
mkdirSync(jlGraphicLibPath);
|
|
}
|
|
}
|
|
|
|
function copyJlGraphicFiles() {
|
|
readdirSync(jlGraphicSrcPath, {
|
|
withFileTypes: true,
|
|
}).forEach((file) => {
|
|
recursiveCopyFiles(file);
|
|
});
|
|
}
|
|
|
|
function recursiveCopyFiles(file, path = []) {
|
|
if (file.isFile()) {
|
|
const fileSrcPath = resolve(jlGraphicSrcPath, ...path, file.name);
|
|
const fileDestPath = resolve(jlGraphicLibPath, ...path, file.name);
|
|
console.log(`copy file ${fileSrcPath} -> ${fileDestPath}`);
|
|
copyFileSync(fileSrcPath, fileDestPath);
|
|
} else if (file.isDirectory()) {
|
|
const srcDir = resolve(jlGraphicSrcPath, ...path, file.name);
|
|
const dirPath = resolve(jlGraphicLibPath, ...path, file.name);
|
|
mkdirSync(dirPath);
|
|
readdirSync(srcDir, {
|
|
withFileTypes: true,
|
|
}).forEach((subFile) => {
|
|
recursiveCopyFiles(subFile, [...path, file.name]);
|
|
});
|
|
}
|
|
}
|
|
|
|
function main() {
|
|
checkAndInitJlGraphicLib();
|
|
copyJlGraphicFiles();
|
|
}
|
|
|
|
main();
|