首页 > 解决方案 > React 应用程序可以同时与 Flask 通信并表达后端吗?

问题描述

我有一个带有 Flask 后端的 React 应用程序,监听端口 5000 localhost(Flask 的默认值)。我可以使用 express 为同一个监听端口 5000 的网络应用程序添加另一个后端吗?我知道不需要另一个 express 后端,因为一切都可以在 Flask 中实现或 express 本身,但我想尝试让多个后端从同一个前端工作。

需要明确的是,我的用例是这样的:

  1. 用户向 Flask 发送POST请求,Flask 将数据保存在本地数据库中。
  2. 使用本地数据库中保存的值(来自 Flask 的响应)在快速服务器中执行更多操作。
  3. 使用快速服务器的响应将用户重定向到 React 中的适当页面。

大多数在线教程只有一个后端,但我想使用更复杂的系统。我在想一个类似的想法——

  1. 在 React 中,调用fetch('flask/api/save'Flask 后端调用@app.route('flask/api/save')并将数据保存在本地数据库中。
  2. 一旦我们从 Flask 后端获得成功的响应,调用另一个fetch('express/api/doWork),我使用相同的端口 5000 连接到在 Flask 中更新的本地数据库,从快速使用app.get('/express/api/doWork)并发送适当的响应。
  3. 根据响应将用户重定向到正确的页面。

这甚至可能吗?还是有更好的方法来实现这种沟通?

提前致谢!

标签: node.jsreactjsexpressflask

解决方案


我终于自己想出了答案。两台服务器不可能在同一个端口上侦听。这里的解决方案是使用 Flask 作为反向代理并将客户端调用重定向到快速服务器。

参考 -可从 Flask 服务器访问多个后端服务器


推荐阅读