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