// 暴露渲染进程访问的对象,也可以换一个别名contextBridge.exposeInMainWorld('ipcRenderer',{send:async(channel:string,...args:any)=>{// 可以在这里做一些业务上的合法性检查和过滤ipcRenderer.send(channel,...args);},invoke:async(channel:string,...args:any)=>{// 可以在这里做一些业务上的合法性...
前阵子将排课系统的一些功能,提供给 solar 编辑器使用,solar 是基于互动课件编辑器 Cocos ICE 进行二次定制和个性化开发的课件制作系统,其底层是 Cocos Creator。而 Cocos Creator 是基于 Electron 进行开发的,所以学习了一些关于 Electron IPC 通信的相关知识,在这里做一个总结。 文章的开始,先让我们来了解下Electro...
使用Electron开发桌面端应用的同学通常已经有了前端和Node.js后端基础,在Electron中,我们通俗意义上的”前端“就是指IPCRenderer(Inter-Process Communication Renderer)进程间通信渲染器。而Electron 的核心进程为IPCMain主进程。在我们的实际业务中经常会存在主进程向渲染器推送消息、渲染器向主进程请求配置信息这类请求。...
window.electronApi) {// 获取主进程里的ipcMainHandlersconstipcMainHandlers =awaitipcRenderer.invoke("getIcpHandler");// 注入到渲染进程的electronApi对象中constelectronAPIContent = {};for(consthandlerNameofipcMainHandlers) {
在上手ipc通信之前,得对electron的进程模型有个基本的了解,electron中的进程大致可以分为主进程和渲染进程,主进程指的就是nodejs的进程,而渲染进程则可以简单的理解为一个Chromium的web页面。主进程,也就是nodejs进程只有一个,而渲染进程,也就是Chromium的web页面则可以有多个,ipc通信就是在主进程和渲染进程之间通信...
ipcMain.once(channel, listener): 这个方法和ipcMain.on类似,但只会监听一次消息。 ipcMain.removeListener(channel, listener): 从指定的channel上移除一个事件监听器。 ipcMain.removeAllListeners([channel]): 移除所有channel上的监听器。 ipcMain.handle(channel, listener): 方法使你能够在主进程中设置一个lis...
// NPM $ npm install @pingtou/electron-ipc // YARN $ yarn add @pingtou/electron-ipc // PNPM $ pnpm add @pingtou/electron-ipc 用法 定义主进程和渲染进程通信的消息类型 // 从渲染进程传过来的消息类型exporttypeRenderMessage={ping:(text:string)=>Promise<string>;};// 从主进程发送到渲染进程...
入门学习electron时了解到,渲染进程与主进程存在一对多的关系, 渲染进程与主进程需要通过ipc或remote进行通信。因为ipc的使用类似websocket, 发送和监听分离到两个独立的接口且渲染进程与主进程的接口存在不小的差异。 所以使用时存在几个比较麻烦的点: 1. 对于类似http的请求模式,接收和发送逻辑存在割裂。 2. 手动指定...
在上手ipc通信之前,得对electron的进程模型有个基本的了解,electron中的进程大致可以分为主进程和渲染进程,主进程指的就是nodejs的进程,而渲染进程则可以简单的理解为一个Chromium的web页面。主进程,也就是nodejs进程只有一个,而渲染进程,也就是Chromium的web页面则可以有多个,ipc通信就是在主进程和渲染进程之间通信...
在上手ipc通信之前,得对electron的进程模型有个基本的了解,electron中的进程大致可以分为主进程和渲染进程,主进程指的就是nodejs的进程,而渲染进程则可以简单的理解为一个Chromium的web页面。主进程,也就是nodejs进程只有一个,而渲染进程,也就是Chromium的web页面则可以有多个,ipc通信就是在主进程和渲染进程之间通信...