electron-vite-vue icon indicating copy to clipboard operation
electron-vite-vue copied to clipboard

[Bug] 升级Electron v29后渲染进程ipcRender报错

Open fisheep01 opened this issue 1 year ago • 3 comments

今天Electron更新了29.0.0版本,我在项目中同步升级了一下,导致了渲染进程报错,具体报错如图 image

fisheep01 avatar Feb 20 '24 07:02 fisheep01

image

可能是electron安装失败,可以参考配置:https://github.com/electron-vite/electron-vite-react/blob/main/.npmrc#L6

RSS1102 avatar Feb 20 '24 08:02 RSS1102

image

可能是electron安装失败,可以参考配置:https://github.com/electron-vite/electron-vite-react/blob/main/.npmrc#L6

electron安装是正常的,只是渲染进程的ipcRenderer会报错,应该是框架中自带的preload.ts的实现有问题,如下图部分 image 作者只是遍历了自有属性,而从Electron29开始,不知道什么原因,ipcRenderer的方法是由上层原型继承而来,从而导致了遍历不到方法

fisheep01 avatar Feb 20 '24 08:02 fisheep01

今天 nuc 后出现了 同样的问题.

koumoe avatar Feb 20 '24 17:02 koumoe

原因:https://www.electronjs.org/blog/electron-29-0#behavior-changed-ipcrenderer-can-no-longer-be-sent-over-the-contextbridge

我写了一个类型安全的IPC库,可以看看

subframe7536 avatar Mar 09 '24 14:03 subframe7536