为了账号安全,请及时绑定邮箱和手机立即绑定

无法解构“require(...).remote”的属性“BrowserWindow”,因为它未定义

无法解构“require(...).remote”的属性“BrowserWindow”,因为它未定义

噜噜哒 2023-03-03 15:14:27
这是在渲染器进程中:const {BrowserWindow} = require('electron').remoteconst path = require('path')const url = require('url')const newWindowButton = document.getElementById('new-window-btn');newWindowButton.addEventListener('click',(e)=>{    let win3 = new BrowserWindow();    win3.loadURL(url.format({        pathname: path.join(__dirname,'index3.html'),        protocol: "file",        slashes: true    }))})我无法在渲染器进程中打开一个新窗口,出现以下错误。**未捕获的类型错误:无法按原样解构“require(...).remote”的属性“BrowserWindow”undefined.**    at Object.<anonymous> (D:\ElectronTute\helloWorld\index1.js:4)    at Object.<anonymous> (D:\ElectronTute\helloWorld\index1.js:21)    at Module._compile (internal/modules/cjs/loader.js:1145)    at Object.Module._extensions..js (internal/modules/cjs/loader.js`enter code here`:1166)    at Module.load (internal/modules/cjs/loader.js:981)    at Module._load (internal/modules/cjs/loader.js:881)    at Function.Module._load (electron/js2c/asar.js:769)    at Module.require (internal/modules/cjs/loader.js:1023)    at require (internal/modules/cjs/helpers.js:77)    at index1.html:13
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

 mainWindow = new BrowserWindow({

    width: 1280,

    height: 960,

    webPreferences: {

      nodeIntegration: true,

      enableRemoteModule: true,

     },

  });

我相信你正在使用新版本的 Electron。从 v9 版本开始,我们不允许remote在渲染器上使用,除非将 设置enableRemoteModule为 true。


另外,为了node_moduels使用 加载渲染器require(),我们还需要启用nodeIntegration。As require 是节点 API 之一。


https://github.com/electron/electron/issues/21408


查看完整回答
反对 回复 2023-03-03
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信