ElectronJS应用程序将插件作为单独的进程加载

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElectronJS应用程序将插件作为单独的进程加载相关的知识,希望对你有一定的参考价值。

我正在构建一个类似于下图的ElectronJS桌面应用程序,其中有一个用于单击的工具侧边栏和一个用于加载它们的右侧面板。

我希望每个工具都是一个插件,这样我就可以轻松地从应用程序创建/添加/删除工具

单击侧栏中的工具时,它将加载插件设置和文件,并运行功能以在右侧构建内容。

屁股一些插件将是大型应用程序,我不想加载它们并减少内存。

有没有办法将右侧面板中的每个插件工具加载为自己的进程,然后在单击新的插件工具并加载到内容面板后终止该插件并释放该插件使用的内存

enter image description here

答案

您可以使用electron-worker创建一个worker,并在每次单击其中一个选项卡时使用它。

你可以用BrowserWindowshow选项创建一个新的false。然后它将作为一个新的过程。链接到文章

您可以使用ipcRenderer联系ipcMain然后分叉插件。见Node.js fork

有用的电子article

如果性能问题,请参阅Multithreading in electron

仅供参考Differences between process and a thread

以上是关于ElectronJS应用程序将插件作为单独的进程加载的主要内容,如果未能解决你的问题,请参考以下文章

Electronjs - BrowserWindow 不是渲染器进程中的构造函数错误

将filewatcher作为单独的进程运行

将 PHP 调用的 .exe 程序(作为单独的进程,而不是在 PHP 中运行)的输出发送回 iPhone 客户端的可能方法

如何将 Python + Electron JS 编译成桌面应用程序(exe)

将PortQry与ElectronJS桌面应用程序集成

在安装 ElectronJS 应用程序期间安装节点模块