You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB
JavaScript

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('所有子应用复制完成!');