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

相关推荐
iCoding9141 分钟前
前端分页 vs 后端分页:技术选型
前端·后端·系统架构
mingtianyihou331 小时前
使用 Service Worker 限制请求并发数
前端
张可爱1 小时前
20251017-Vue2八股文整理(上篇)
前端
FanetheDivine1 小时前
ts中如何描述一个复杂函数的类型
前端·typescript
lightgis1 小时前
chrome中的axure插件提示无法不受支持
前端·chrome
速易达网络1 小时前
Vue3 原生移动应用开发来了
前端·javascript·css
渣哥1 小时前
别再乱用了!Spring AOP 与 AspectJ 的区别比你想的复杂
javascript·后端·面试
GISer_Jing1 小时前
LLM对话框项目技术栈&重难点总结
前端·ai·node.js
患得患失9491 小时前
【Turborepo】【Next】 Turborepo + Next.js 前后端精简搭建笔记(带官网)
开发语言·javascript·笔记
我爱学习_zwj2 小时前
【鸿蒙进阶-7】鸿蒙与web混合开发
前端·华为·harmonyos