为什么会用到进程间通信?
一.通知事件
比如我们在页面中想去创建一个原生菜单,但是只有主进程才能创建原生菜单.只能通过IPC通知主进程来创建我们的菜单
二.数据传输
比如我们在某个页面中获得现在的内存情况,这样子我们就要通过IPC传输数据
三.共享数据
比如像我们的用户信息在各个进程中都会用到,我们就要通过IPC来传输数据
Electron提供了IPC通信模块,ipcMain和渲染进程的ipcRenderer
ipcMain,ipcRender都是EventEmitter对象
主进程与渲染进程之间的通信
从渲染进程中直接发送消息给主进程
Call back 写法:
- ipcRenderer.send(channel,...agrs)
- ipcMain.on(channel,handler)
//index.html,渲染进程
onst electron = require('electron')
const ipcRenderer = electron.ipcRenderer
function sendTypeOne() {
//向主进程发送消息
ipcRenderer.send('MainMsgFromRender','hellow')
}
// 监听主进程返回的消息
ipcRenderer.on('RenderMsgFromMain', function (event, arg) {
alert(arg)
})
//main.js
const electron = requ