Uncaught TypeError: Cannot read properties of undefined (reading 'BrowserWindow'

2,834 阅读1分钟

出现这个原因是 electron 低版本中的node 用remote引入BrowserWindow不支持了

渲染进程文件 js中设置​

旧写法
const BrowserWindow = require('electron').remote.BrowserWindow

新写法:
const BrowserWindow = require('@electron/remote').BrowserWindow

同时在主进程main.js中 代码的结构是这样的

**var electron = require('electron')

var app = electron.app //应用
var BrowserWindow = electron.BrowserWindow //窗口引用

var mainWindow = null // 声明要打开的主窗口


app.on('ready', () => {
  mainWindow = new BrowserWindow({
    width: 500,
    height: 500,
    webPreferences: {
      nodeIntegration: true, //文件的读取
      contextIsolation: false,
      enableRemoteModule: true
    }
  })
  // require('./main/menu.js')
  require('@electron/remote/main').initialize()
  require('@electron/remote/main').enable(mainWindow.webContents);
  mainWindow.loadFile('demo2.html')
  mainWindow.on('close', () => {
    mainWindow = null
  })
})**