import { cpSync, existsSync, mkdirSync } from 'fs'; import { resolve, dirname } from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const rootDir = resolve(__dirname, '..'); const distDir = resolve(rootDir, 'dist'); // 子应用配置 const microApps = [ { name: 'label-app', source: resolve(rootDir, 'apps/label-app/dist'), target: resolve(distDir, 'labelapp'), }, { name: 'flow-app', source: resolve(rootDir, 'apps/flow-app/dist'), target: resolve(distDir, 'flowapp'), }, ]; console.log('开始复制子应用到基座 dist 目录...\n'); // 确保 dist 目录存在 if (!existsSync(distDir)) { mkdirSync(distDir, { recursive: true }); } // 复制每个子应用 for (const app of microApps) { if (existsSync(app.source)) { console.log(`复制 ${app.name}: ${app.source} -> ${app.target}`); cpSync(app.source, app.target, { recursive: true }); console.log(`✓ ${app.name} 复制完成\n`); } else { console.warn(`⚠ ${app.name} 的 dist 目录不存在: ${app.source}`); console.warn(` 请先运行 npm run build:${app.name}\n`); } } console.log('所有子应用复制完成!');