|
@@ -0,0 +1,52 @@
|
|
|
+const fs = require('fs');
|
|
|
+const path = require('path');
|
|
|
+
|
|
|
+// 定义源目录和目标目录路径
|
|
|
+const srcDir = path.resolve(__dirname, '../..', 'dist');
|
|
|
+const destDir = path.resolve(__dirname, '../..', 'pack');
|
|
|
+
|
|
|
+/**
|
|
|
+ * 递归拷贝目录内容
|
|
|
+ * @param {string} src - 源目录路径
|
|
|
+ * @param {string} dest - 目标目录路径
|
|
|
+ */
|
|
|
+function copyDir(src, dest) {
|
|
|
+ // 检查源目录是否存在
|
|
|
+ if (!fs.existsSync(src)) {
|
|
|
+ console.error(`错误:源目录不存在 - ${src}`);
|
|
|
+ process.exit(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 创建目标目录(如果不存在)
|
|
|
+ if (!fs.existsSync(dest)) {
|
|
|
+ fs.mkdirSync(dest, { recursive: true });
|
|
|
+ console.log(`创建目标目录:${dest}`);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 读取源目录内容
|
|
|
+ const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
|
+
|
|
|
+ for (const entry of entries) {
|
|
|
+ const srcPath = path.join(src, entry.name);
|
|
|
+ const destPath = path.join(dest, entry.name);
|
|
|
+
|
|
|
+ if (entry.isDirectory()) {
|
|
|
+ // 递归处理子目录
|
|
|
+ copyDir(srcPath, destPath);
|
|
|
+ } else {
|
|
|
+ // 拷贝文件
|
|
|
+ fs.copyFileSync(srcPath, destPath);
|
|
|
+ console.log(`已拷贝:${srcPath} -> ${destPath}`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 执行拷贝并处理错误
|
|
|
+try {
|
|
|
+ console.log('开始拷贝文件...');
|
|
|
+ copyDir(srcDir, destDir);
|
|
|
+ console.log('文件拷贝完成!');
|
|
|
+} catch (err) {
|
|
|
+ console.error('拷贝过程中发生错误:', err);
|
|
|
+ process.exit(1);
|
|
|
+}
|