electron高版本使用BrowserWindow

使用版本

父窗口打开子窗口,使用remote模块的时候,出现了以下的问题:

 

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

解决方案:

1、首先在自己项目中npm安装 @electron/remote模块

        yarn add  @electron/remote


2、在主进程初始化@electron/remote模块,然后在渲染中使用

require('@electron/remote/main').initialize()

require('@electron/remote/main').enable(mainWindow.webContents)

 3、在主进程main.js中,设置remote模块,在webPreferences中添加enableRemoteModule:true 和 contextIsolation为false。

webPreferences:{ 
    nodeIntegration:true,
    enableRemoteModule: true,
    contextIsolation: false
}


4、渲染进程中,require('electron').remote替换为require('@electron/remote')

const BrowserWindow = require('@electron/remote').BrowserWindow


代码:

主进程main.js:

// 主进程main.js
var electron = require("electron") ;
var app = electron.app;
var BrowserWindow = electron.BrowserWindow;


let mainWindow = null;

app.on("ready", () => {
    mainWindow = new BrowserWindow({
        width: 1000,
        height: 800,
        webPreferences: {
            nodeIntegration: true,
            enableRemoteModule: true,
            contextIsolation: false
        }
    });
    require('@electron/remote/main').initialize();
    require('@electron/remote/main').enable(mainWindow.webContents);
    mainWindow.loadFile("./demo2.html");
    mainWindow.on("closed", () => {
        mainWindow = null;    
    })
})


渲染进程demo2.js:

//demo.js

var btn = this.document.querySelector("#btn");

const BrowserWindow = require('@electron/remote').BrowserWindow

let newWin;
window.onload = function(){
   btn.onclick = () => {
        newWin = new BrowserWindow({
            width: 500,
            height: 500,
        })
        newWin.loadFile("yellow.html");
        newWin.on("close", () => {
            newWin = null;
        })
   }
};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值