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