為了在 electron 渲染進(jìn)程中引入BrowserWindow,使用了這樣一個(gè)語(yǔ)句:
const BrowserWindow = require(“electron”).remote.BrowserWindow
運(yùn)行時(shí)會(huì)報(bào)錯(cuò):Cannot read properties of undefined (reading ‘BrowserWindow’)
出錯(cuò)原因
這是由于electron 版本所造成的問(wèn)題。由于用的是目前的最新版本@v19.0.8, 而remote在electron12中就已經(jīng)廢棄了remote模塊,如果需要使用,則應(yīng)自己安裝remote包。
解決方案
步驟1. 在項(xiàng)目根目錄下安裝@electron/remote包:
npm install @electron/remote –save
步驟2. 在主進(jìn)程中,設(shè)置webPreferences選項(xiàng):
webPreferences: { nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, // 使用remote模塊},
步驟3. 在主進(jìn)程中進(jìn)行初始化:
require(“@electron/remote/main”).initialize();require(“@electron/remote/main”).enable(mainWindow.webContents);
步驟4. 在渲染進(jìn)程中引入BrowservWindow:
const BrowserWindow = require(“@electron/remote”).BrowserWindow;