gpt4 book ai didi

electron - 在预加载脚本中调用ipc通信是一种好方法吗?

转载 作者:行者123 更新时间:2023-12-03 12:34:20 25 4
gpt4 key购买 nike

我刚刚开始学习electron。我想知道在预加载脚本中使用ipcRenderer调用是否是一个好主意,即:

const sc = require('./StaticContent');
const dc = require('./DynamicContent');
const { ipcRenderer } = require('electron');

window.addEventListener('DOMContentLoaded', () => {
document.getElementById('view').innerHTML = sc.getInfoPage();
document.getElementById('menu-info').addEventListener('click', (evt) => {
ipcRenderer.send('load-info');
});


ipcRenderer.on('get-view', (event, arg) => {
document.getElementById('view').innerHTML = arg;
});
});

我阅读的每个教程都使用外部 js文件来管理 ipcRenderer调用,甚至不用费心 preload脚本。但这行得通。

我也可以不用 ipc调用来实现我想要的功能:
window.addEventListener('DOMContentLoaded', () => {
document.getElementById('view').innerHTML = sc.getInfoPage();
document.getElementById('menu-info').addEventListener('click', (evt) => {
document.getElementById('view').innerHTML = sc.getInfoPage();
});
});

哪一个更好?我不知道有什么负面影响,我只是想从一开始就学习最佳实践。

最佳答案

是的,您可以在preload脚本中绝对使用ipcRenderer,并且可以看到该here的示例。

最终是否应该取决于您的目标。

如果需要主进程执行某项操作,则必须使用ipc将消息从预加载脚本发送到主进程。如果您不需要任何主进程,并且只需在运行预加载脚本的渲染器的上下文中执行代码即可,那么您可以在此处自由运行代码。

在您的情况下,仅在预加载脚本中执行所有DOM操作可能很有意义。仅向主进程发送消息,仅使其将消息发送回渲染器以执行get-view处理程序,这是无故的额外工作。

关于electron - 在预加载脚本中调用ipc通信是一种好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58589896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com