【发布时间】:2019-06-20 11:12:42
【问题描述】:
阅读Electron's security tutorial 后,我在创建BrowserWindow 的实例时禁用了nodeIntegeration 并启用了contextIsolation。这会导致渲染器无法加载依赖于 NodeJS API 的模块(例如 require())。因此,例如,我无法使用electron-store(或electron)。
这也意味着我无法使用 IPC,即使我无论如何也无法使用 IPC,因为它 JSON 序列化了我的自定义对象,这实际上通过将我的自定义对象转换为 POJO 来导致对象切片。
话虽如此,在主进程和渲染器进程之间安全通信的正确方法是什么。我想在我的主进程中创建一个单例应用程序实例,在渲染器进程中访问它(例如,从磁盘加载配置,然后允许用户从渲染器查看/编辑它,将更改保存回磁盘)尽可能。
我查看了一些其他类似的主题(例如,like this one),但它仍然不起作用;此外,即使它有效,它也是一种黑客攻击,如果有更好的方法,我想避免黑客攻击。
【问题讨论】:
标签: node.js electron node-modules