...
大前端 electronnodejs

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,
})
electron 防止多开代码 electron渲染进程开启node及webview权限
biu biu biu
electron 防止多开代码 Ubuntu 搭建SVN服务器(SVN Server) android 备份system.img dd命令的使用 android 安卓 adb 禁止系统休眠 android 挂载可读写system分区 Read-only file system