Как общаться с Python back-end из компонента Angular при использовании приложения Electron? - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь создать настольное приложение, используя Electron.Мое требование состоит в том, чтобы использовать Angular для front-end и python для back-end (который должен взаимодействовать с базой данных SQLite).

Это то, что я готов:

  1. У меня естьинтерфейсное веб-приложение, созданное / разработанное Angular 7 и Material
  2. У меня также есть 10 чистых файлов Python (без какой-либо платформы), которые должны выполнять некоторую внутреннюю логику при каждом нажатии кнопок из веб-приложения.
  3. Электронная среда готова, и main.js указывает на файл Angular index.html.
  4. Файлы Python находятся в отдельной папке, еще ни к чему не подключенной.

Когда я запускаю Electron, приложение запускается, и я вижу веб-интерфейс Angular. Все, что мне осталось сделать - это отправить запросы, когда кнопка нажата, к бэкэнду (файлы python).


Что я знаю и имеюдо сих пор пробовал:

  • Добавить модуль ngx-Electron в мой угловой компонент import { ElectronService } from "ngx-electron"
  • Я использую ipcRenderer.send('aaa', data) для отправки данных и ipcRenderer.on('bbb', () => {}) дляполучить ответ из основного процесса
  • В основном процессе (main.js)

    ipcMain.on('aaa', (e, filename) => { // exec(pythonfile params); e.sender('bbb', response); })


Вопросы:

Это правильный путь или есть более чистое решение для отправки и получения данных между Angular и python?

Я чувствую, что когда у вас много запросов, эти слушатели становятся грязными, не уверен.Я всегда использовал более чистые HTTP-запросы, но никогда не использовал межпроцессное взаимодействие ...

1 Ответ

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

Я этого не делал, но подозреваю, что это может быть достигнуто следующим образом:

Вам понадобится Узел до Запустите скрипт Python :

let process = spawn(‘python’, [“./d_alembert.py”]);

Здесь можно найти еще ответов .

Хотя электронное приложение будет работать практически на любой ОС, не ясно, что у другого пользователя будет установлен Python (Mac OS поставляетсяс этим Windows не делает).Так что он может работать на вашей машине, но не на чужой.

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