Skip to content

主进程与渲染进程通信

因为主进程和渲染进程分担不同的工作,因此项目中遇到主进程和渲染进程之间进行一些操作是很常见的

渲染进程

javascript
import { ipcRenderer } from "electron";

// 监听渲染进程方法
ipcRenderer.send("window-close");

主进程

javascript
import { app, BrowserWindow, ipcMain } from "electron";

// 监听渲染进程方法
ipcMain.on("window-close", (e, data) => {
  win.close();
});

contextBridge

为了安全考虑,建议在 preload 封装 contextBridge.exposeInMainWorld 暴露给渲染进程上下文的方法 preload.js

javascript
const { contextBridge, ipcRenderer } = require("electron");

contextBridge.exposeInMainWorld("electronAPI", {
  setWindowClose: () => ipcRenderer.send("window-close"),
});

渲染进程上下文

javascript
window.electronAPI.setWindowClose();

上次更新于: