electron 4.通信

在这里插入图片描述
render.js

console.log("render.js");

//渲染进程不能直接引入BrowserWindow模块 借助remote模块,从remote中拿到主进程允许使用的模块
const { BrowserWindow } = require('electron').remote;

const { ipcRenderer } = require('electron');

let btn = document.querySelector("#btn");
btn.onclick = function () {
    console.log("btn");
    // let win = new BrowserWindow();

    //参数1 频道  2 发送的数据  3
    ipcRenderer.send('msg-a', '你好');

};
ipcRenderer.on('msg-b', function (event, msg) {
    console.log("render:" + msg);
});

main.js

//创建窗口

//引入模块
//app模块 : 控制应用的生命周期
// BrowserWindow 模块:创建一个浏览器窗口
const { app, BrowserWindow, ipcMain } = require('electron');

//nodejs 内置模块  拼接路径
const path = require('path');


//1. 初始化应用,会触发监听 ready 事件
app.on('ready', zl_createWindow);


let win;

//创建窗口 自定义方法
function zl_createWindow() {
    //创建窗口
    win = new BrowserWindow({
        width: 600,
        height: 600,
        movable: true,//是否可以移动
        resizable: false,//是否可以放大 缩小
        webPreferences: {
            nodeIntegration: true,//是否集成 Nodejs
        }
    });

    //加载内容
    // win.loadURL('https://baidu.com');
    //加载本地html 
    //_dirname 当前js文件所在的路径
    win.loadURL(path.join(__dirname, './index.html'));

    //webcontents 控制和渲染页面的 也是一个属性
    //调试工具
    win.webContents.openDevTools();

    //关闭窗口
    win.on('close', function () {
        //关闭窗口前想做的事
        win = null;
    });

    //引入设置菜单文件
    require('./menu');
}

//执行文件 3种方式
//1. electron main.js
//2. electron .
//3. 添加一个脚本 :package.json

console.log("main");
//在主进程里面打印的数据在终端中显示
//在渲染进程里面打印的数据在页面中显示
//渲染到主  ipcRenderer.send
//主接受   ipcMain.on
ipcMain.on('msg-a', function (event, msg) {
    console.log('main:' + msg);
   // event.sender.send('msg-b','我很好');
    win.webContents.send('msg-b',"1111111");

});


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等一场春雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值