使用Python和React.js的单个可执行文件

时间:2018-10-03 10:32:20

标签: python python-3.x reactjs executable

我有两个应用程序

  • react.js + node.js应用程序。
  • 独立的python应用程序

    我需要合并这两个应用程序,并将此单个应用程序分发到单个可执行文件/二进制文件中。 我了解我需要摆脱node.js并使用python作为后端, 将调用从react-node更改为react-python。对于后者,我需要 可能是烧瓶。

    对于包装,我可以使用PyInstaller或cx_freeze。

    任何指针都是进行此合并并创建单个可执行文件/二进制文件的最佳方法,因此最终工作流程应如下所示:

    1)用户获得单个可执行文件/二进制文件

    2)运行/执行可执行文件/二进制文件

    3)这会启动可在浏览器上访问的应用程序

    4)用户将能够从UI(响应)向后端(Python)发送请求

    因此,基本上,单个可执行文件/二进制文件具有python env,python后端和react(UI)代码。

1 个答案:

答案 0 :(得分:1)

您可以使用此设计结构来解决此问题,就像所有lang一样,您需要将前端打包在后端项目的公用文件夹中:

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

此项目模板可以是npm存储库,您可以自定义脚本以启动项目。

react和node的示例(您可以在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"
  }
}