fix(electron): 修复生产环境后端路径问题并优化构建配置
调整 electron-builder 配置文件以正确处理打包路径 修复生产环境下后端服务路径问题 添加对开发工具中 Autofill 错误信息的过滤 更新构建脚本确保前端先构建
This commit is contained in:
@@ -3,15 +3,18 @@
|
||||
"appId": "com.bidding.app",
|
||||
"directories": {
|
||||
"output": "dist-electron",
|
||||
"app": "./app"
|
||||
"app": "."
|
||||
},
|
||||
"files": [
|
||||
"app/**/*",
|
||||
"dist/**/*",
|
||||
"frontend/**/*",
|
||||
"frontend/dist/**/*",
|
||||
".env",
|
||||
"node_modules/**/*",
|
||||
"package.json",
|
||||
"app/**/*"
|
||||
"package.json"
|
||||
],
|
||||
"asarUnpack": [
|
||||
"dist/**/*",
|
||||
"node_modules/**/*"
|
||||
],
|
||||
"win": {
|
||||
"target": "nsis",
|
||||
|
||||
22
app/main.js
22
app/main.js
@@ -36,6 +36,13 @@ function createWindow() {
|
||||
// 开发环境下打开开发者工具
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
mainWindow.webContents.openDevTools();
|
||||
|
||||
// 过滤掉 DevTools 的 Autofill 相关错误
|
||||
mainWindow.webContents.on('console-message', (event, level, message, line, sourceId) => {
|
||||
if (message.includes('Autofill.enable') || message.includes('Autofill.setAddresses')) {
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mainWindow.on('closed', () => {
|
||||
@@ -92,14 +99,25 @@ function waitForBackend(port = 3000, maxRetries = 30, interval = 1000) {
|
||||
* 启动后端服务
|
||||
*/
|
||||
async function startBackend() {
|
||||
const backendPath = path.join(__dirname, '..', 'dist', 'main.js');
|
||||
let backendPath;
|
||||
|
||||
if (process.resourcesPath) {
|
||||
// 生产环境:使用 app.asar.unpacked 中的文件
|
||||
backendPath = path.join(process.resourcesPath, 'app.asar.unpacked', 'dist', 'main.js');
|
||||
} else {
|
||||
// 开发环境
|
||||
backendPath = path.join(__dirname, '..', 'dist', 'main.js');
|
||||
}
|
||||
|
||||
// 检查后端构建文件是否存在
|
||||
if (!fs.existsSync(backendPath)) {
|
||||
console.error('后端服务构建文件不存在,请先执行 npm run build');
|
||||
console.error('后端服务构建文件不存在,路径:', backendPath);
|
||||
console.error('请先执行 npm run build');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('启动后端服务:', backendPath);
|
||||
|
||||
// 启动后端服务
|
||||
backendProcess = spawn('node', [backendPath], {
|
||||
env: {
|
||||
|
||||
Reference in New Issue
Block a user