Electron 中的两种进程通信方式,分别为:
- 使用 ipcMain 和 ipcRenderer 两个模块
- 使用 remote 模块
remote
在渲染进程中使用主进程模块。
remote
模块为渲染进程(web页面)和主进程通信(IPC)提供了一种简单方法。
在Electron中, GUI 相关的模块 (如 dialog
、menu
等) 仅在主进程中可用, 在渲染进程中不可用。 为了在渲染进程中使用它们, ipc
模块是向主进程发送进程间消息所必需的。 使用 remote
模块, 你可以调用 main 进程对象的方法, 而不必显式发送进程间消息, 类似于 Java 的 RMI 。
**注意: **反过来(如果需要从主进程访问渲染进程),可以使用 webContents. executeJavascript 。
注意事项: 因为安全原因,remote 模块能在以下几种情况下被禁用:
-
BrowserWindow
- 通过设置enableRemoteModule
选项为false
。 -
<webview>
- 通过把enableremotemodule
属性设置成false
。