从main.ts调用node js函数(电子js和angular js集成)

时间:2019-01-28 16:39:55

标签: javascript angular electron

我遵循本教程,如何集成电子js和角度js。

https://malcoded.com/posts/angular-desktop-electron

我已经运行了它,并且运行良好,但是现在的问题是我想从main.ts的角度js和电子js开始调用node js函数

例如,当在有角度的js端按下按钮时,我需要在node js文件上调用该函数并发送回响应。

1 个答案:

答案 0 :(得分:0)

对于Electron中的通信,可以使用ipcMaindocs

在您的Electron代码中,添加一个类似于以下内容的侦听器:

import { ipcMain } from 'electron';
ipcMain.on('REQUEST_CHANNEL', (event: any, arg: any) =>
  console.log('received', event, arg);
);

在你的应用的角度,安装该模块ngx-electronnpm i --save ngx-electron),然后将消息发送到电子,与像下面这样:

import { ElectronService } from 'ngx-electron';
import { IpcRenderer } from 'electron';

// inject the service
public renderer: IpcRenderer;
constructor(
    private electronServiceInstance: ElectronService
) {
    this.renderer = this.electronServiceInstance.ipcRenderer;
}

// send the message
this.renderer.send('REQUEST_CHANNEL', 'my message');

要发送回响应,可以使用几种方法。 我的建议是相反。 在IpcRenderer的Angular方面,您可以侦听来自另一个渠道(例如,'RESPONSE_CHANNEL')的消息,并在希望Angular捕获消息时从Electron通过该信道发送消息。