Javascript Electron JS-无法破坏属性';浏览器窗口';属于';需要(…).remote';因为它是未定义的

Javascript Electron JS-无法破坏属性';浏览器窗口';属于';需要(…).remote';因为它是未定义的,javascript,node.js,electron,Javascript,Node.js,Electron,这正在进行中: 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 =

这正在进行中:


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
    }))

})
我无法在渲染器进程中打开新窗口,出现以下错误。

**未捕获的TypeError:无法按原样分解“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
未定义**
反对。(D:\ElectronTute\helloWorld\index1.js:4)
反对。(D:\ElectronTute\helloWorld\index1.js:21)
at模块编译(内部/modules/cjs/loader.js:1145)
在Object.Module.\u extensions..js(internal/modules/cjs/loader.js`在此处输入代码':1166)
at Module.load(内部/modules/cjs/loader.js:981)
at模块加载(内部/modules/cjs/loader.js:881)
at Function.Module._load(electron/js2c/asar.js:769)
at Module.require(内部/modules/cjs/loader.js:1023)
根据需要(内部/modules/cjs/helpers.js:77)
在index1.html:13
我相信你正在使用新版本的Electron。从v9版本开始,我们不允许在渲染器上使用
remote
,除非将
enablemotemodule
设置为true

另外,为了使用
require()
在渲染器上加载
节点_moduels
,我们还需要启用
节点集成。As require是一个节点api


这是否回答了您的问题?特别是其中的新答案(
启用远程模块
)注释。甚至enableRemoteModule也将在v12中被弃用。您可以开始考虑迁移建议的远程升级路径是什么?
 mainWindow = new BrowserWindow({
    width: 1280,
    height: 960,
    webPreferences: {
      nodeIntegration: true,
      enableRemoteModule: true,
     },
  });