我正在摆弄electron。在我的应用程序中,我有一个包含应用程序所有设置的Javascript对象。这个对象有一个名为“renderer”的键,我希望将它传递给渲染窗口,以便将所有设置保存在一个方便的地方。
我一直在查阅文档,我发现最好的方法如下(除了通过BrowserWindow的additionalarguments通过process.argv传递变量之外)。
在main.js中:
ipcMain.handle('getSettings', () => {
return settings.renderer
})
preload.js
contextBridge.exposeInMainWorld('bridge', {
getSettings: () => ipcRenderer.invoke('getSettings')
})
renderer.js
function getSettings() {
settings = window.bridge.getSettings().then(response => {
console.log(response)
})
}
getSettings()
是否有更方便的方法来完成这一点,以及是否有可能以同步方式完成这一点?
1条答案
按热度按时间ffscu2ro1#
创建并加载窗口后,可以立即通过IPC将设置对象发送到呈现进程。
preload.js
脚本中使用ipcRenderer.on(channel,listener)从主进程接收数据。main.js
(主进程)preload.js
(主流程)index.html
(渲染进程)