【发布时间】:2018-02-09 08:12:27
【问题描述】:
我正在尝试创建一个工具来编辑包含与我的公司业务逻辑相关的对象的文件。我正在使用电子这样做。
我创建了一个 javascript 类,它代表对象、处理其内部结构并在其上提供业务功能:
class Annotation {
constructor() {
this._variables = []
this._resourceGenerators = []
}
get variables() {
return this._variables
}
get resourceGenerators() {
return this._resourceGenerators
}
save(path) {
...
}
static load(path) {
...
}
};
module.exports = Annotation;
我在我的主进程中创建对象,并且我有一个事件处理程序,它允许渲染进程访问它:
const {ipcMain} = require('electron')
const Annotation = require('./annotation.js');
... Do electron window stuff here ...
var annotation = new Annotation()
ipcMain.on('getAnnotation', (event, path) => {
event.returnValue = annotation
})
我刚刚发现通过 ipcMain.sendSync 发送一个对象使用 JSON.stringify 来传递注释,这意味着它失去了它上面的 getter/functions。
我对网络/电子开发还很陌生;处理这个的正确方法是什么?以前我在 main 中有处理程序来处理渲染进程所需的大部分函数,但是 main 开始变得非常臃肿,所以我试图对其进行一些重构。
【问题讨论】:
标签: javascript node.js electron