javascript – 如何将Electron ipcRenderer整合到基于TypeScript的Angular 2应用程序?

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

相关文章

事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
@ &quot;TOC&quot; 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...