我想在我的项目中使用
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(...)