Electron 主线程和渲染线程通信

本文介绍了如何在Electron应用中通过两种方式实现主进程与渲染进程的通信,一是使用Electron的IPC机制在菜单操作中传递文件夹路径,二是通过HTTP服务以请求方式通知。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在做Electron项目时,会遇到主进程与渲染进程通信的场景,那么具体怎么实现呢,我们今天用一个demo来表现下通信过程,核心业务为:项目过多,用户添加项目目标文件夹到列表,进而对项目进行统一管理,我们这里提供2种方式

效果图:
在这里插入图片描述

方式一:

main.js主进程,创建一个顶部菜单,打开一个文件夹,进而通知渲染进程

const {
    app, BrowserWindow, ipcMain, Menu, dialog, protocol } = require('electron')
let mainWindow // 保存当前的主窗口回调,用于发布消息

// 创建菜单列表,添加自定义菜单,并且快捷键为ctrl + w
let menuTemplate = [
  // 一级菜单
  {
   
    label: "文件",
    role: 'fileMenu',
  },
  {
   
    label: "视图",
    role: 'viewMenu'
  },
  {
   
    label: '窗口',
    role: 'windowMenu'
  },
  {
   
    label: '添加项目',
    click: () => {
   
      handle_click()
    },
    accelerator: 'ctrl + w'
  }
];

// 用于构建MenuItem
let menuBuilder = Menu.buildFromTemplate(menuTemplate);

// setApplicationMenu 在macOS上将 menu设置成应用内菜单 在windows和Linux上,menu 将会被设置成窗口顶部菜单
Menu.setApplicationMenu(menuBuilder);

function createWindow() {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端小小白zyw

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

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

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

打赏作者

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

抵扣说明:

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

余额充值