gpt4 book ai didi

electron - 在 Electron 中使用foreverjs会导致 Electron 应用重复出现在基座中

转载 作者:行者123 更新时间:2023-12-03 12:35:04 26 4
gpt4 key购买 nike

我在 Electron 应用主程序中使用foreverjs,如下所示:

const forever = require("forever-monitor");
let child = forever.start(scriptPath, {fork: true});

我故意使用child_process.fork来完成此操作,因为我希望foreverjs监视fork并在需要时重新启动它们。

很好-以上工作正常,但在Mac osx上的基座上,我看到每个叉都重复了 Electron 应用程序。在生产环境中是一样的-每个过程中Dock中的应用程序图标都会重复N次。

经过进一步调查,我找到了原因,但没有找到解决方法。原因是,当您通常从 Electron 内部使用child_process派生一个进程时,它会使用Electron Helper应用程序启动该进程。

但是,当您使用forever.js派生一个进程时,它会使用Electron应用程序本身,从而解释了重复项。

fork 时,我如何强制永远使用Electron Helper应用程序,而不是 Electron 应用程序本身?

最佳答案

好的,所以我知道了。很简单,您需要像这样将一个环境变量传递给foreverjs:

const forever = require("forever-monitor");
let child = forever.start(scriptPath, {fork: true, env: {ELECTRON_RUN_AS_NODE: 1}});

这样做,并且 fork 将正确使用其节点的预打包版本,而不是启动另一个 Electron “main”副本。

关于electron - 在 Electron 中使用foreverjs会导致 Electron 应用重复出现在基座中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53982590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com