当我在电子中调用远程函数时,结果总是充满getters
和setters
。我想我明白为什么会这样,但我希望能够得到简单的对象。
import {remote} from 'electron'
const bridge = remote.require('bridge') // This is a little script I create for talking to a python process. Over stdin/stdout i.e. pipes.
bridge.on('fileTreeUpdate', (data) => {
myDataStore.update(JSON.parse(JSON.stringify(data.tree))
})
答案 0 :(得分:0)
正如评论中所提到的,我建议直接在渲染器中使用'bridge';这样,您根本不需要在Main和Renderer进程之间传递数据。
话虽如此,如果另一个要求只需要在Main进程中加载'bridge'模块,同时仍然从Renderer访问它的数据,我建议使用Electron的'ipc'模块。
例如,在您的主进程中,您可以执行以下操作(假设变量win
是对您希望与之通信的呈现器进程的窗口的引用):
import bridge from 'bridge'
bridge.on('fileTreeUpdate', data => {
// assuming win {BrowserWindow} has already been initialized
win.webContents.send('bridge:fileTreeUpdate', data)
})
在您的渲染器流程中(与win
相关联):
import ipcRenderer from 'electron'
ipcRenderer.on('bridge:fileTreeUpdate', (event, data) => {
myDataStore.update(data.tree)
})