当前位置:首页 > React

flask如何运行react

2026-01-15 11:10:14React

运行 Flask 与 React 的集成方法

将 Flask 作为后端 API 服务器,React 作为前端框架,可以通过以下方式实现两者的协同运行。

方法一:分离开发模式(开发阶段)

在开发阶段,Flask 和 React 可以分别运行在不同的端口上。React 通过 create-react-app 或其他工具启动开发服务器,Flask 则运行 API 服务。

  1. 配置 Flask 后端

    • 创建 Flask 应用并启用 CORS(跨域资源共享),以便 React 前端可以访问 API。

    • 示例 Flask 代码:

      from flask import Flask, jsonify
      from flask_cors import CORS
      
      app = Flask(__name__)
      CORS(app)
      
      @app.route('/api/data')
      def get_data():
          return jsonify({"message": "Hello from Flask!"})
      
      if __name__ == '__main__':
          app.run(debug=True, port=5000)
  2. 配置 React 前端

    • 使用 create-react-app 创建 React 项目。

      flask如何运行react

    • 在 React 组件中调用 Flask API:

      import React, { useEffect, useState } from 'react';
      
      function App() {
        const [data, setData] = useState(null);
      
        useEffect(() => {
          fetch('http://localhost:5000/api/data')
            .then(response => response.json())
            .then(data => setData(data));
        }, []);
      
        return (
          <div>
            {data ? <p>{data.message}</p> : <p>Loading...</p>}
          </div>
        );
      }
      
      export default App;
  3. 运行项目

    • 启动 Flask 后端:python app.py(假设 Flask 文件名为 app.py)。
    • 启动 React 前端:npm start(在 React 项目目录中)。

方法二:集成生产模式(部署阶段)

在生产环境中,可以将 React 构建的静态文件托管在 Flask 中,以减少跨域问题并简化部署。

  1. 构建 React 项目

    flask如何运行react

    • 在 React 项目目录中运行 npm run build,生成静态文件(位于 build 文件夹)。
  2. 配置 Flask 托管静态文件

    • 修改 Flask 应用以提供 React 的静态文件:

      from flask import Flask, send_from_directory
      
      app = Flask(__name__, static_folder='../react-app/build')
      
      @app.route('/')
      def serve():
          return send_from_directory(app.static_folder, 'index.html')
      
      @app.route('/static/<path:path>')
      def serve_static(path):
          return send_from_directory(app.static_folder, path)
      
      @app.route('/api/data')
      def get_data():
          return jsonify({"message": "Hello from Flask!"})
      
      if __name__ == '__main__':
          app.run()
  3. 文件结构

    • 确保 React 的 build 文件夹与 Flask 项目在同一目录层级:
      project/
      ├── flask-app/
      │   ├── app.py
      └── react-app/
          ├── build/
  4. 运行 Flask

    • 启动 Flask 应用后,访问 http://localhost:5000 即可看到 React 前端与 Flask 后端集成运行。

注意事项

  • 开发阶段建议使用分离模式,便于前后端独立调试。
  • 生产阶段建议使用集成模式,减少跨域问题并简化部署流程。
  • 确保 React 的路由(如 react-router)与 Flask 的路由兼容,避免页面刷新时出现 404 错误。

标签: flaskreact
分享给朋友:

相关文章

react 如何执行

react 如何执行

安装 React 确保 Node.js 安装在本地环境中。通过以下命令创建新的 React 项目: npx create-react-app my-app 进入项目目录并启动开发服务器:…

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

react如何开发组件

react如何开发组件

React 组件开发基础 React 组件分为函数组件和类组件两种形式。函数组件是现代 React 开发的主流方式,结合 Hooks 可以实现完整功能。 函数组件示例: function Gr…

react性能如何

react性能如何

React 性能特点 React 通过虚拟 DOM(Virtual DOM)和高效的 diff 算法优化性能。虚拟 DOM 减少了直接操作真实 DOM 的开销,仅在必要时更新变化的部分。React 的…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Contex…

如何启动react

如何启动react

安装Node.js 确保系统已安装Node.js(建议使用LTS版本),可通过官网下载并安装。安装完成后,在终端运行以下命令验证版本: node -v npm -v 创建React项目 使用官方工…