Files
konabot-web/copyEnvBuild.ts
MixBadGun 00acfee3e6
All checks were successful
continuous-integration/drone/push Build is passing
更稳定的生成
2025-11-10 22:00:47 +08:00

61 lines
1.6 KiB
TypeScript

import * as fs from 'fs';
import * as path from 'path';
function copyDirRecursive(source: string, target: string) {
// 创建目标目录
if (!fs.existsSync(target)) {
fs.mkdirSync(target, { recursive: true });
}
// 读取源目录内容
const files = fs.readdirSync(source);
for (const file of files) {
const sourcePath = path.join(source, file);
const targetPath = path.join(target, file);
const stat = fs.statSync(sourcePath);
if (stat.isDirectory()) {
// 如果是目录,递归复制
copyDirRecursive(sourcePath, targetPath);
} else {
// 如果是文件,复制文件
fs.copyFileSync(sourcePath, targetPath);
}
}
}
function copyMathJax() {
const sourceDir = path.join(process.cwd(), 'node_modules', 'mathjax-full');
const targetDir = path.join(process.cwd(), 'build', 'client', 'node_modules', 'mathjax-full');
console.log('开始复制 MathJax...');
console.log('源目录:', sourceDir);
console.log('目标目录:', targetDir);
try {
// 检查源目录是否存在
if (!fs.existsSync(sourceDir)) {
console.error('错误: mathjax-full 目录不存在,请先安装 mathjax-full');
console.log('运行: npm install mathjax-full');
return;
}
// 如果目标目录已存在,就退出
if (fs.existsSync(targetDir)) {
console.log('目标目录已存在,跳过复制');
return;
}
// 复制目录
copyDirRecursive(sourceDir, targetDir);
console.log('✅ MathJax 复制完成!');
} catch (error) {
console.error('❌ 复制过程中发生错误:', error);
}
}
// 运行复制函数
copyMathJax();