Node子进程打包Electron App后立即退出

2024-04-06

我的电子应用程序的 GUI 部分中有这段代码,从终端运行时它可以正常工作。我已经使用“电子打包器”打包了应用程序,然后我开始遇到一些问题。

最初,子进程立即终止并给出代码 127,我通过使用此处讨论的“修复路径”模块解决了该问题。https://github.com/electron/electron/issues/7688 https://github.com/electron/electron/issues/7688

即使在此之后,该进程也会立即退出并显示代码 1,我无法解决此问题,因为没有报告错误。一旦子进程退出,有没有办法捕获此异常/错误?

const fixPath = require('fix-path');
let launch = () => {
fixPath();

const path = "SOME PATH";
var command = 'node ' + 
              path + 
              ' -d ' +      
              ' -e ' +     
              ' -r ' +      
              ' -p ' + 30 +
              ' -w ' +     
              ' -g ' +     
              '-server__ ';


const child = childProcess.exec(command, {
  detached: true,   
  stdio: 'ignore'
});

child.on('error', (err) => {
  console.log("\n\t\tERROR: spawn failed! (" + err + ")");
});

child.on('exit', (code, signal) => {
  console.log(code);
  console.log("\n\t\tGUI: spawned completed it's work!");
});

可以使用 child.stderr 数据事件处理程序来捕获错误。我在脚本中添加了这段代码,并且能够通过控制台上的输出来调试问题。

child.stderr.on('data', function(data) {
  console.log('stdout: ' + data);
});

参考这篇文章帮助我解决了这个问题。https://medium.freecodecamp.org/node-js-child-processes-everything-you-need-to-know-e69498fe970a https://medium.freecodecamp.org/node-js-child-processes-everything-you-need-to-know-e69498fe970a

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node子进程打包Electron App后立即退出 的相关文章

随机推荐