【发布时间】:2018-12-29 13:18:08
【问题描述】:
到目前为止(在我的 Mac 上)我已经设法使用 pyInstaller 将我的烧瓶应用程序打包到一个 .app 文件中,并且可以成功地将电子打包到一个 .app 文件中。现在我希望能够将烧瓶可执行文件和电子应用程序一起打包成一个可执行文件。
我已经尝试了其他一些堆栈溢出帖子的建议并使用 child_process 模块来生成烧瓶 .app,但这给了我以下错误:
Uncaught Exception:
Error: spawn ../server/dist/server.app ENOENT
at _errnoException (util.js:1024:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
at onErrorNT (internal/child_process.js:372:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
这是导致此错误的电子入口点代码:
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
const isDev = require('electron-is-dev');
const path = require('path');
const childSpawn = require('child_process').spawn;
let mainWindow;
const createWindow = () => {
childSpawn('../server/dist/server.app');
mainWindow = new BrowserWindow({ width: 900, height: 680 });
mainWindow.loadURL(isDev ? 'http://localhost:3000' : `file://${path.join(__dirname, '../build/index.html')}`);
app.setAboutPanelOptions({
applicationName: 'app_name',
applicationVersion: '0.0.1',
})
mainWindow.on('closed', () => mainWindow = null);
}
app.on('ready', createWindow);
app.on('window-all-closed', () => {
app.quit();
});
app.on('activate', () => {
if (mainWindow === null) {
createWindow();
}
});
但是,如果这样可行,我看不出如何将烧瓶服务器与电子应用程序捆绑到一个可执行文件中?
感谢成功完成此任务的人的帮助。
【问题讨论】:
标签: node.js electron electron-builder