Electron V14 Electron Remote模块用法
在v14版本中,electron 已经取消了 remote 模块
//这种写法会报错 undefined.
const { BrowserWindow } =require(‘electron’).remote
通过查阅官方文档.https://www.electronjs.org/docs/api/browser-window
需要修改为以下的写法:
1.下载新的单独模块 remote
npm install --save @electron/remote
2.main.js 引入该模块并初始化
const remote = require('@electron/remote/main');
remote.initialize();
3.webContents 开启
remote.enable(mainWindow.webContents);
不开启的话会报错
Uncaught Error: @electron/remote is disabled for this WebContents
4.在对应需要生成子窗口的 js 文件补充
const {BrowserWindow} = require('@electron/remote')
newWin = new BrowserWindow({
width: 500,
height: 500,
})
示例:
main.js
const { app, BrowserWindow, ipcMain,Menu } = require('electron')
const remote = require('@electron/remote/main');
remote.initialize();
// 创建主窗口
function createWindow(cookie) {
const mainWindow = new BrowserWindow({
width: 500,
height: 500,
webPreferences: {
contextIsolation: false,
nodeIntegration: true,
enableRemoteModule: true
}
})
mainWindow.loadFile('index.html')
remote.enable(mainWindow.webContents);
}
渲染进程 index.js
const {BrowserWindow} = require('@electron/remote')
newWin = new BrowserWindow({
width: 500,
height: 500,
})