在Electron开发中不能使用remote模块怎么办

为了在 electron 渲染进程中引入BrowserWindow,使用了这样一个语句

const BrowserWindow = require(“electron”).remote.BrowserWindow

运行时会报错:Cannot read properties of undefined (reading ‘BrowserWindow’)

出错原因

这是由于electron 版本所造成的问题。由于用的是目前的最新版本@v19.0.8, 而remote在electron12中就已经废弃了remote模块,如果需要使用,则应自己安装remote包。

解决方案

步骤1. 在项目根目录下安装@electron/remote包:

npm install @electron/remote –save

步骤2. 在主进程中,设置webPreferences选项

webPreferences: { nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, // 使用remote模块},

步骤3. 在主进程中进行初始化

require(“@electron/remote/main”).initialize();require(“@electron/remote/main”).enable(mainWindow.webContents);

步骤4. 在渲染进程中引入BrowservWindow:

const BrowserWindow = require(“@electron/remote”).BrowserWindow;

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年7月18日 13:08
下一篇 2022年7月18日 13:08

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息