Один исполняемый файл с Python и React.js - PullRequest
0 голосов
/ 03 октября 2018

У меня есть два приложения

  • response.js + node.js app.
  • отдельное приложение Python

    Мне нужно объединить эти дваприложения и распространять это одно приложение в одном исполняемом / двоичном.Я понимаю, что мне нужно избавиться от node.js и использовать python в качестве моего бэкэнда и менять вызовы, идущие от реагирующего узла на реагирующий-питона.А для последнего мне нужно взять с собой Flask.

    Для упаковки я могу использовать PyInstaller или cx_freeze.

    Любые указатели, которые являются лучшим способом сделать это слияние и создать один исполняемый / двоичный файлитоговый рабочий процесс должен выглядеть примерно так:

    1) Пользователь получает один исполняемый файл / двоичный файл

    2) Запускает / выполняет исполняемый файл / двоичный файл

    3) Это запускаетсяприложение, к которому можно получить доступ через браузер

    4) Пользователь сможет отправлять запрос из UI (React) в Backend (Python)

    Так что в основном один исполняемый / двоичный файл имеет Python env,Код Python для бэкэнда и реагирования (UI).

1 Ответ

0 голосов
/ 04 июня 2019

Вы можете использовать эту структуру дизайна для решения этой проблемы, как и все языки, вам нужно упаковать интерфейс в общую папку вашего внутреннего проекта:

.
└── project_template/
    ├── server/
    └── static/
        ├── css/
        ├── images/
        └── js/

Этот шаблон проекта можетбыть репозиторием npm, в котором вы можете настроить скрипт для запуска вашего проекта.

Пример с реакцией и узлом (вы можете увидеть peoject на GitHub ):

{
  "name": "poker-hand-analyzer",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "install-frontend-dependencies": "cd ./frontend && yarn install",
    "install-backend-dependencies": "cd ./backend && yarn install",
    "install-dependencies": "yarn install-frontend-dependencies && yarn install-backend-dependencies && yarn install",
    "frontend": "cd ./frontend && yarn start",
    "backend": "cd ./backend && yarn start",
    "start": "concurrently \"yarn frontend\" \"yarn backend\""
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/brunoxd13/poker-hand-analyzer.git"
  },
  "author": "Bruno Russi Lautenschlager",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/brunoxd13/poker-hand-analyzer/issues"
  },
  "homepage": "https://github.com/brunoxd13/poker-hand-analyzer#readme",
  "dependencies": {
    "concurrently": "^4.1.0"
  }
}
...