【发布时间】:2020-04-21 07:53:38
【问题描述】:
我正在构建一个运行 nodejs 的电子应用程序。 gui 运行 html/js,我还有一些在后台运行的 python 脚本向用户显示数据。
当我使用npm start在本地运行时它运行良好,但是当我选择使用electron-packager库打包应用程序时,python没有运行,并且在app.asar中找不到
我相信解决方案是围绕使用 const originalFs = require('original-fs'); 和 originalFs.readFileSync(FILE); 展开的,但我对很多部署方面都是全新的,我不知道我是否走错了方向,或者这根本不可能。我的代码如下:
const subprocess = spawn('python', ['-u', __dirname + "/python/myscript.py", arg])
subprocess.stdout.on('data', (data) => {
console.log(`data:${data}`);
});
subprocess.stderr.on('data', (data) => {
console.log(`error:${data}`);
});
subprocess.stderr.on('close', () => {
console.log("Closed");
app.quit()
});
我还尝试设置--asar=false 并进入/resources/app/ 文件夹以访问myscript.py 文件。这为应用程序提供了全部功能,但是,如果可能的话,我仍然希望能够将其全部打包到 asar.app 中。
【问题讨论】: