Вызов функции узла js из main.ts (электронная интеграция js и угловая интеграция js) - PullRequest
0 голосов
/ 28 января 2019

Я следую этому уроку, как интегрировать электронные js и угловые js.

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

Я уже выполнил это, и это работало хорошо, но теперь проблема в том, что я хочу начатьвызвать функцию js узла из углового js и электронного js из main.ts

Пример, когда кнопка нажата на угловой js стороне, мне нужно вызвать функцию в файле js узла и отправить ответ.

1 Ответ

0 голосов
/ 28 января 2019

Для связи в Electron вы можете использовать ipcMain ( документы .

. В вашем коде 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), а затем отправьте в 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');

Чтобы отправить ответ, вы можете использовать несколькоспособы. То, что я предлагаю, это сделать наоборот. На Angular стороне с IpcRenderer прослушивайте сообщения из другого канала, например, 'RESPONSE_CHANNEL', и от Electron отправляйте сообщения через этот канал, когда вы хотите, чтобы Angular перехватывал их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...