Files
2025-12-05 00:09:32 +08:00

47 lines
1.5 KiB
JavaScript

/**
* 复制 Monaco Editor 静态资源到 public 目录
* 用于离线环境或避免 CDN 加载失败
*/
import { cpSync, existsSync, mkdirSync } from 'fs';
import { join, dirname } from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const projectRoot = join(__dirname, '..');
const monacoSrc = join(projectRoot, 'node_modules', 'monaco-editor', 'min');
const monacoDest = join(projectRoot, 'public', 'monaco-editor');
try {
console.log('📦 开始复制 Monaco Editor 资源...');
console.log('源目录:', monacoSrc);
console.log('目标目录:', monacoDest);
// 检查源目录是否存在
if (!existsSync(monacoSrc)) {
console.error('❌ 错误: Monaco Editor 源目录不存在');
console.error('请先运行: npm install monaco-editor');
process.exit(1);
}
// 创建目标目录
if (!existsSync(monacoDest)) {
mkdirSync(monacoDest, { recursive: true });
}
// 复制整个 min 目录到 public/monaco-editor
cpSync(monacoSrc, monacoDest, { recursive: true });
console.log('✅ Monaco Editor 资源复制成功!');
console.log('📂 资源位置:', monacoDest);
console.log('\n下一步:');
console.log('1. 在 ComparePreview.tsx 中取消注释本地路径配置');
console.log('2. 注释掉 CDN 配置');
console.log('3. 重启开发服务器');
} catch (error) {
console.error('❌ 复制失败:', error.message);
process.exit(1);
}