当前位置:首页 > React

springmvc如何跑react

2026-01-24 03:48:01React

Spring MVC 与 React 集成方法

将 React 集成到 Spring MVC 项目中可以通过以下方式实现,分为开发模式和生产模式两种场景:

开发模式分离运行

在开发阶段,React 前端和 Spring MVC 后端可以独立运行:

  • 使用 create-react-app 或类似工具搭建 React 开发环境
  • 通过 npm start 运行 React 开发服务器(默认端口 3000)
  • Spring MVC 后端运行在另一个端口(如 8080)
  • 在 React 的 package.json 中配置代理:
    "proxy": "http://localhost:8080"
  • 这样 React 会自动将 API 请求转发到 Spring MVC 后端

生产模式整合部署

当需要将 React 打包后与 Spring MVC 一起部署时:

  1. 构建 React 生产包

    npm run build

    这会生成静态文件到 build 目录

  2. 将 React 构建结果复制到 Spring MVC

    springmvc如何跑react

    • build 目录内容复制到 Spring MVC 的 src/main/resources/static 目录
    • 或配置 Spring 静态资源路径指向 React 构建目录
  3. 配置 Spring MVC 控制器

    @Controller
    public class HomeController {
        @RequestMapping(value = {"/", "/{path:[^\\.]*}"})
        public String forward() {
            return "forward:/index.html";
        }
    }

    这个配置确保所有非静态资源请求都返回 React 的入口文件

  4. 配置跨域支持(如果前后端分离部署)

    springmvc如何跑react

    @Configuration
    public class CorsConfig implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/")
                    .allowedOrigins("*")
                    .allowedMethods("*");
        }
    }

前后端通信方式

  • REST API:Spring MVC 提供 @RestController 处理数据请求

  • 使用 axiosfetch 在 React 中调用 API

  • 示例 React 组件调用 API:

    import React, { useEffect, useState } from 'react';
    import axios from 'axios';
    
    function App() {
      const [data, setData] = useState([]);
    
      useEffect(() => {
        axios.get('/api/data')
          .then(response => setData(response.data));
      }, []);
    
      return (
        <div>
          {data.map(item => (
            <div key={item.id}>{item.name}</div>
          ))}
        </div>
      );
    }

构建工具集成

对于更紧密的集成,可以考虑:

  • 使用 Maven 或 Gradle 插件自动构建 React 项目
  • 示例 Maven 配置:
    <plugin>
      <groupId>com.github.eirslett</groupId>
      <artifactId>frontend-maven-plugin</artifactId>
      <version>1.12.1</version>
      <executions>
        <execution>
          <id>install node and npm</id>
          <goals>
            <goal>install-node-and-npm</goal>
          </goals>
        </execution>
        <execution>
          <id>npm install</id>
          <goals>
            <goal>npm</goal>
          </goals>
        </execution>
        <execution>
          <id>npm run build</id>
          <goals>
            <goal>npm</goal>
          </goals>
          <configuration>
            <arguments>run build</arguments>
          </configuration>
        </execution>
      </executions>
    </plugin>

这种集成方式可以在 Maven 构建过程中自动处理 React 项目的构建,确保前后端资源同步更新。

标签: springmvcreact
分享给朋友:

相关文章

如何删除react

如何删除react

卸载 React 项目依赖 打开项目根目录下的 package.json 文件,删除所有包含 react、react-dom 或其他 React 相关库的依赖项。保存文件后运行以下命令: npm…

react如何更新

react如何更新

更新 React 版本的方法 检查当前 React 版本 运行以下命令查看项目中安装的 React 版本: npm list react 更新 React 及相关依赖 通过 npm 或 yarn…

如何改造react

如何改造react

改造 React 项目的关键方法 分析当前项目结构 通过评估现有组件、状态管理和依赖项,明确需要改进的部分。使用工具如 webpack-bundle-analyzer 识别性能瓶颈。 升级 Reac…

如何选购react

如何选购react

选购 React 相关产品或服务的建议 React 是一个用于构建用户界面的 JavaScript 库,广泛应用于前端开发。以下是选购 React 相关产品(如课程、书籍、工具、组件库等)的参考方法:…

react如何卸载

react如何卸载

卸载 React 项目或依赖 如果需要完全卸载 React 项目或相关依赖,可以按照以下步骤操作: 删除项目文件夹 直接删除整个项目文件夹是最彻底的方式。确保已备份重要代码或配置文件。 卸载全…

react如何拓展

react如何拓展

React 拓展方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式,通过接收一个组件并返回一个新组件实现功能拓展。例如,为组件添加日志功能: function withLoggin…