在 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,
enableRemoteModule: true,
contextIsolation: false,
}
步骤3. 在主进程中进行初始化:
require('@electron/remote/main').initialize()
require("@electron/remote/main").enable(win.webContents)
步骤4. 在渲染进程中引入BrowservWindow:
const BrowserWindow = require("@electron/remote").BrowserWindow;