首页 > 解决方案 > 不使用ipc直接把主要的东西放在preload.js中好吗?

问题描述

在电子中,

如果我使用 ipc 和预加载脚本

preload.js:

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

contextBridge.exposeInMainWorld("api", {
  doSomething: () => {
    ipcRender.send("DO_SOMETHING");
  }
});

和 main.js:

(...)

const something = require("some-module-for-node");
ipcMain.on("DO_SOMETHING", () => {
  something.doSomething();
});

如果只是直接把主进程代码放到preload.js中,不用ipc,

preload.js:

const something = require("some-module-for-node");
const { contextBridge } = require("electron");

contextBridge.exposeInMainWorld("api", {
  doSomething: () => {
    something.doSomething();
  }
});

可以像第二个例子那样使用吗?

标签: javascriptelectron

解决方案


推荐阅读