squidGame/tgx-games-server/build.js

49 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2025-02-07 10:49:34 +08:00
const process = require("child_process");
const fs = require('fs');
const path = require('path');
// 构建发布
try {
const output = process.execSync('npm run tsrpc-build');
console.log("构建结束",output.toString());
} catch (error) {
console.error('Error executing command:', error);
}
// process.execSync('npm run tsrpc-build');
// console.log("构建完成")
// 复制配置文件
fs.copyFileSync("./ecosystem.config.js", "./dist/ecosystem.config.js")
fs.copyFileSync("./Dockerfile", "./dist/Dockerfile")
// console.log("文件复制完成")const { execSync } = require('child_process');
// 复制文件
function copyFile(src, dest) {
fs.copyFileSync(src, dest);
}
// 递归复制文件夹
function copyFolder(src, dest) {
// 如果目标文件夹不存在,创建它
if (!fs.existsSync(dest)) {
fs.mkdirSync(dest, { recursive: true });
}
// 读取源文件夹中的文件和子目录
const items = fs.readdirSync(src);
items.forEach(item => {
const srcItem = path.join(src, item);
const destItem = path.join(dest, item);
const stat = fs.statSync(srcItem);
// 如果是文件,则直接复制
if (stat.isFile()) {
copyFile(srcItem, destItem);
}
// 如果是文件夹,则递归调用
else if (stat.isDirectory()) {
copyFolder(srcItem, destItem);
}
});
}
copyFolder("./src/shared/configs/data/", "./dist/shared/configs/data/")