处理原生应用逻辑
main脚本的进程被称为主进程,一个Electron应用总是有且只有一个主进程
负责页面渲染
由于Electron使用了Chromium来展示Web页面,所以Chromium的多进程架构也被使用到。每个Electron中的Web页面运行在它自己的渲染进程中。
主进程使用BrowserWindow实例创建页面。每个BrowerWindow实例都是在自己的渲染进程里运行页面。当一个BrowserWindow实例被销毁后。相应的渲染进程也会被终止。
渲染进程就是一个浏览器窗口,它能存在多个并且相互独立,不过和浏览器不同的是,它能调用Node API
官方文档
详细参考ipcMain
ipcMain.on('message',(e,msg)=>{
console.log(msg);
});
mainWindow.webContents.send('message', { time: new Date() });
可通过ipcRenderer发送或接收
ipcRenderer.on('message', (event, text) => {
console.log(text);
});
ipcRenderer.send('message', { name: 'katte' })
参考官方提供remote
本来新的渲染进程只有主进程才可以创建,不过有了remote模块 我们也可以在一个渲染进程中创建另一个渲染进程;
const {BrowserWindow} = require('electron').remote;
let wind = new BrowserWindow({
width:800,
height:600
});
win.loadUrl('https://github.com');
注意:官方还说了一些不可用的场景,和remote的生命周期;
官方虽然提供了2种方式来实现主进程和渲染进程的通讯,但是我觉得还是有它们不同的应用场景的 作为一个刚接触electron不久的小白,大胆总结一下
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8