electron进程通信

1.渲染进程对主进程通信

主进程

javascript 复制代码
ipcMain.on("saveFile" , ()=>{
    console.log(1)
})
//对外暴露api

预加载脚本

javascript 复制代码
//主进程和渲染进程的桥梁
const { ipcRenderer, contextBridge } = require('electron')

contextBridge.exposeInMainWorld("api" , {    //对外暴露api
    hd: () => {
        ipcRenderer.send("saveFile")
        //调用主进程api
    }
})

渲染进程

javascript 复制代码
window.addEventListener("DOMContentLoaded" , ()=>{
    window.api.hd()
})

2.主进程对渲染进程通信

主进程

javascript 复制代码
win.webContents.send("test" , 1)
//win为起作用的页面

预加载脚本

javascript 复制代码
contextBridge.exposeInMainWorld("api" , {
    counter:( callback )=>{
        ipcRenderer.on("test",(event, value)=>{
            callback(value)
        })
    }
})

渲染进程

javascript 复制代码
window.api.counter((value)=>{
    btn.innerHTML = value
})

3.invoke,handle双向通信

主进程使用handle暴露

预加载脚本使用invoke获取

这样连接的api主进程的return会直接渲染到前端控制台

相关推荐
RPGMZ14 分钟前
RPGMakerMZ 地图存档点制作 标题继续游戏直接读取存档
开发语言·javascript·游戏·游戏引擎·rpgmz·rpgmakermz
有一个好名字43 分钟前
Agent Loop —— 一切从那个 while 循环开始
前端·javascript·chrome
一天睡25小时44 分钟前
Claude Code 指令入门教程
前端
EF@蛐蛐堂1 小时前
【js】浏览器滚动条优化组件OverlayScrollbars
开发语言·javascript·ecmascript
yingyima1 小时前
正则表达式实战:从日志中精准提取关键字段
前端
TeamDev1 小时前
如何在 DotNetBrowser 中使用本地 AI 模型
前端·后端·.net
谢尔登1 小时前
10_从 React Hooks 本质看 useState
前端·ubuntu·react.js
辰同学ovo1 小时前
从全局登录状态管理学习 Redux
前端·javascript·学习·react.js
爱看书的小沐2 小时前
【小沐杂货铺】基于Three.js绘制三维艺术画廊3DArtGallery (Three.js,WebGL)
javascript·3d·webgl·three.js·babylon.js·三维画廊
陈随易2 小时前
2年没用Nodejs了,Bun很香
前端·后端·程序员