我想在我的项目中使用 ipcMain / ipcRenderer 在 Angular 与 Electron 之间来回通信。
Electron 方面非常清楚:
const
electron = require('electron'),
ipcMain = electron.ipcMain,
;
ipcMain.on('asynchronous-message', function(event, arg) {
console.debug('ipc.async', arg);
event.sender.send('asynchronous-reply', 'async-pong');
});
ipcMain.on('synchronous-message', function(event, arg) {
console.debug('ipc.sync', arg);
event.returnValue = 'sync-pong';
});
但是我不知道如何将该 Electron 模块集成到我的 Angular 2 应用程序中。我使用 SystemJS 作为模块加载器,但我是它的新手。
任何帮助表示赞赏。谢谢。
—马里奥
原文由 Sommereder 发布,翻译遵循 CC BY-SA 4.0 许可协议
两种解决方案:
健壮的方式。注册对象
require
返回:这是最好的,因为
renderer/init.js
脚本在启动时加载该模块。 SystemJS 必须只接受它,而不是加载。替代方式。在声明中使用肮脏的把戏。
在里面获取电子实例
index.html
:在你的
typescript
文件中这样声明它:自由使用它)