我想在我的项目中使用
ipcMain/
ipcRenderer来从角度到电子和后面的沟通.
电子方面很清楚:
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',arg) {
console.debug('ipc.sync',arg);
event.returnValue = 'sync-pong';
});
但我不知道如何将该电子模块整合到我的Angular 2应用程序中.我使用SystemJS作为模块加载器,但我是一个菜鸟.
任何帮助赞赏.谢谢.
—马里奥
解决方法
There is conflict,because Electron use commonjs module resolving,but your code already compiled with systemjs rules.
两个解决方案
坚固的方式.注册对象需要返回:
<script>
System.set('electron',System.newModule(require('electron')));
</script>
这是最好的,因为renderer / init.js脚本在启动时加载该模块. SystemJS必须只占用它,而不是加载.
替代方式.用声明使用脏话.
获取index.html中的电子实例:
<script>
var electron = require('electron');
</script>
在你的类型文件文件中以这种方式声明它:
declare var electron: any;
自由使用)
electron.ipcRenderer.send(...)