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会直接渲染到前端控制台

相关推荐
前端加油站15 分钟前
在 cursor 成为流行的开发方式后,作为普通开发我们能做什么
前端
Cache技术分享23 分钟前
163. Java Lambda 表达式 - Function 的链式组合
前端·后端
Zestia40 分钟前
页面点击跳转源代码?——element-jumper插件实现
前端·javascript
前端小白199540 分钟前
面试取经:工程化篇-webpack性能优化之优化loader性能
前端·面试·前端工程化
PineappleCoder40 分钟前
大小写 + 标点全搞定!JS 如何精准统计单词频率?
前端·javascript·算法
zhangbao90s42 分钟前
Web组件:使用Shadow DOM
前端
hhy前端之旅42 分钟前
语义版本控制:掌握版本管理的艺术
前端
coding随想42 分钟前
深入浅出DOM操作的隐藏利器:Range(范围)对象——掌控文档的“手术刀”
前端
前端小白199543 分钟前
面试取经:工程化篇-webpack性能优化之减少模块解析
前端·面试·前端工程化
一枚前端小能手43 分钟前
🏗️ 项目越来越大维护不动了,微前端架构了解一下
前端