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

SCo*_*der 13 python executable python-3.x reactjs

我有两个申请

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

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

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

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

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

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

    3)这会激活可以在浏览器上访问的应用程序

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

    所以基本上单个可执行文件/二进制文件有python env,python后端和react(UI)代码.

小智 1

你可以使用这个设计结构来解决这个问题,就像所有的语言一样,你需要将前端打包到后端项目的 public 文件夹中:

\n\n
.\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 project_template/\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 server/\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 static/\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 css/\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 images/\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 js/\n
Run Code Online (Sandbox Code Playgroud)\n\n

该项目模板可以是一个 npm 存储库,您可以自定义脚本来启动您的项目。

\n\n

使用 React 和 Node 的示例(您可以在GitHub上查看该项目):

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