【问题标题】:How can I use create-react-app with Spring Boot?如何在 Spring Boot 中使用 create-react-app?
【发布时间】:2017-12-07 02:59:26
【问题描述】:

我正在尝试将 ReactJS 应用程序与使用 Spring Boot 构建的 API 一起提供。我已经在 /public/ 上运行了脚本 create-react-app - 如下面的结构所示​​ - 但是,当我尝试从 http://localhost:8080/public/index.html 访问它时,来自 ReactJS 的所有相对路径似乎都被破坏了

为了从 ReactJS 正确加载资源,我还需要做什么?

【问题讨论】:

    标签: reactjs spring-boot


    【解决方案1】:

    我建议你创建两个项目:

    • 一个用于您的 Spring Boot 后端;
    • 一个用于您的 React 前端,使用 create-react-app 创建。

    在开发模式下,您必须使用 node: 'npm start' 运行 React 开发服务器。 您应该为您的 Spring Boot 应用程序定义一个代理:"proxy": "http://localhost:8080", 添加到您的 package.json。这个机制的文档是here。 您可以像往常一样使用 Gradle 执行后端:./gradlew bootRun

    在生产部署中,您可以使用 npm run build 生成 React 应用程序的构建。 create-react-app 生成的静态文件可以放在 Spring Boot 应用程序的静态目录中,例如 src/main/resources/static/docs about static content 与 Spring Boot)

    我希望这会有所帮助!

    【讨论】:

    • 太棒了,我会测试它!非常感谢
    • 注意,如果你走这条路,你需要记住,在生产系统中使用 Docker 将它们捆绑在一起是个好主意,这样两个系统都在同一主机上启动,并且配置的代理继续在生产中工作,而无需在构建过程中编辑 package.json。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 2021-01-19
    • 1970-01-01
    相关资源
    最近更新 更多