minishouyin/package-app.js
2025-11-12 11:35:57 +08:00

65 lines
1.6 KiB
JavaScript

const { spawn } = require('child_process');
const path = require('path');
console.log('正在打包迷你收银台系统...');
// 构建前端
console.log('正在构建前端...');
const webpackProcess = spawn('npx', ['webpack', '--mode', 'production'], {
stdio: 'inherit',
shell: true
});
webpackProcess.on('error', (error) => {
console.error('构建前端失败:', error);
});
webpackProcess.on('close', (code) => {
if (code !== 0) {
console.error(`前端构建失败,退出代码: ${code}`);
return;
}
console.log('前端构建完成');
// 构建主进程
console.log('正在构建主进程...');
const mainProcess = spawn('npx', ['webpack', '--config', 'webpack.main.config.js', '--mode', 'production'], {
stdio: 'inherit',
shell: true
});
mainProcess.on('error', (error) => {
console.error('构建主进程失败:', error);
});
mainProcess.on('close', (code) => {
if (code !== 0) {
console.error(`主进程构建失败,退出代码: ${code}`);
return;
}
console.log('主进程构建完成');
// 打包应用
console.log('正在打包应用...');
const electronBuilderProcess = spawn('npx', ['electron-builder', '--win'], {
stdio: 'inherit',
shell: true
});
electronBuilderProcess.on('error', (error) => {
console.error('打包应用失败:', error);
});
electronBuilderProcess.on('close', (code) => {
if (code !== 0) {
console.error(`打包应用失败,退出代码: ${code}`);
return;
}
console.log('应用打包完成!');
console.log('安装包位于 dist 目录');
});
});
});