我遵循本教程,如何集成电子js和角度js。
https://malcoded.com/posts/angular-desktop-electron
我已经运行了它,并且运行良好,但是现在的问题是我想从main.ts
的角度js和电子js开始调用node js函数
例如,当在有角度的js端按下按钮时,我需要在node js文件上调用该函数并发送回响应。
答案 0 :(得分:0)
对于Electron中的通信,可以使用ipcMain
(docs。
在您的Electron代码中,添加一个类似于以下内容的侦听器:
import { ipcMain } from 'electron';
ipcMain.on('REQUEST_CHANNEL', (event: any, arg: any) =>
console.log('received', event, arg);
);
在你的应用的角度,安装该模块ngx-electron
(npm 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通过该信道发送消息。