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

这是在渲染器进程中:



const {BrowserWindow} = require('electron').remote


const 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


噜噜哒
浏览 103回答 1
1回答

千巷猫影

&nbsp;mainWindow = new BrowserWindow({&nbsp; &nbsp; width: 1280,&nbsp; &nbsp; height: 960,&nbsp; &nbsp; webPreferences: {&nbsp; &nbsp; &nbsp; nodeIntegration: true,&nbsp; &nbsp; &nbsp; enableRemoteModule: true,&nbsp; &nbsp; &nbsp;},&nbsp; });我相信你正在使用新版本的 Electron。从 v9 版本开始,我们不允许remote在渲染器上使用,除非将 设置enableRemoteModule为 true。另外,为了node_moduels使用 加载渲染器require(),我们还需要启用nodeIntegration。As require 是节点 API 之一。https://github.com/electron/electron/issues/21408
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript