在应用的渲染器进程里面 .. 就是应用的窗口,其实就是网页 .. 可以使用 ipcRenderer 给应用的主进程发消息 .. 在主进程上可以使用 ipcMain 处理渲染器发过来的消息 .. ipc 指的是 inter-process communication .. 就是内部进程通信的意思 ..
先打开应用的一个窗口 ... main.html .. 在这个网页里面添加一组 script 标签 .. 里面可以写点脚本代码 .. 先从 electron 模块里面把 ipcRenderer 拿出来用一下 ..
下面用一下 ipcRenderer 上面的 send 这个方法去给主进程发送一个消息 .. 消息需要一个频道,这个频道都是我们自己定义的 .. 比如 greet .. 表示问候 .. 第二个参数是带的消息 .. 可以是一个对象 .. 里面添加一个 message .. 它的值是 hello main ~
打开 main.js .. 在主进程上,可以把 ipcMain 从 electron 模块里面拿出来 ..
然后可以监听一下 greet 频道上的消息 .. ipcMain .. 用一下 on .. 监听的是 greet 这个频道 .. 一个回调 .. 里面有 event 参数 .. 还有一个 args 参数 .. 这个 args 是消息内容 ..
在方法里面,可以先在控制台上输出 args 里的东西 ..
这里我们在编辑器集成的终端上面运行一下应用 .. 运行以后渲染器那里会用 ipcRenderer 在 greet 这个频道上给主进程发一个消息 .. 主进程监听了这个频道,有消息的话它就会把消息内容输出到控制台上 .. 所以在这里,你会看到输出的这个消息对象 .. 它里面有个 message 属性,值是 hello main ~
在主进程的监听器这里,可以直接回一条消息 .. 用一下 event , sender 上的 send 方法 .. 往 greet 这个频道上发个消息 .. 消息的值是一个对象 .. 里面有个 message 属性 .. 值是 hi renderer ~
再回到 main.html .. 用一下 ipcRenderer 上的 on .. 监听一下 greet 这个频道 .. 一个监听器方法 .. 里面有个 event 参数 .. 还有一个 args 参数 ..
方法做的事情是在控制台上 .. 输出 args 里面的值 ..
重新再运行一下应用 .. 主进程收到了 greet 频道上的消息 .. 打开应用窗口 .. 开发者工具 .. Console .. 在渲染器这边儿 .. 也监听了 greet 频道,有消息过来就会把它输出到控制台上 .. 所以这里你会发现从主进程那里发送过来的这条消息内容 ..