47 lines
1.5 KiB
JavaScript
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);
|
|
}
|