gpt4 book ai didi

spring - 如何从 Spring Boot 应用程序提供 React 应用程序?

转载 作者:行者123 更新时间:2023-12-04 14:40:52 25 4
gpt4 key购买 nike

我想从 Spring Boot 服务器应用程序提供 ReactJS UI 应用程序的 Webpack 构建结果。

由于 Webpack 构建在“dist”文件夹中生成所有 Assets ,即 index.html、bundle.js 等...访问方式即 http://localhost/index.html

Spring Boot 应用程序提供来自 http://localhost/api/xxx 的 API URL。

最佳答案

  • 创建 .env react 项目根目录中的文件(在 package.json 旁边)
  • PUBLIC_URL=/nameContextRoot.env文件(上下文根的名称通常是 war 文件的名称)
  • 构建 react 项目 npm run build

  • 对我来说,它在 build 中生成它的内容react项目目录
  • 复制 内容构建目录到 spring-boot 应用程序 static目录
  • static目录应该是 src/main/resources 中的普通文件夹
  • 清理并重建 spring boot 项目并运行它
  • 内容现在可以正常提供

  • 更新

    Spring Boot 结构
    D:.
    ├───.mvn
    │ └───wrapper
    ├───.settings
    ├───src
    │ ├───main
    │ │ ├───java
    │ │ │ └───my.java.stuff
    │ │ ├───resources
    │ │ │ └───static
    │ │ │ └───static
    │ │ │ ├───css
    │ │ │ └───js
    │ │ └───webapp
    │ └───test
    │ └───java
    │ └───my.java.tests
    ├───target
    │ ├───classes
    │ │ ├───java.classes
    │ │ └───static
    │ │ ├───css
    │ │ ├───js
    │ │ └───static
    │ │ ├───css
    │ │ └───js
    │ ├───generated-sources
    │ │ └───annotations
    │ ├───m2e-wtp
    │ │ └───web-resources
    │ │ └───META-INF
    │ │ └───maven
    │ │ └───java.stuff
    │ ├───maven-archiver
    │ ├───maven-status
    │ │ └───maven-compiler-plugin
    │ │ └───compile
    │ │ └───default-compile
    │ ├───rclient-0.0.1-SNAPSHOT
    │ │ ├───META-INF
    │ │ └───WEB-INF
    │ │ ├───classes
    │ │ │ ├───java stuff
    │ │ │ └───static
    │ │ └───lib
    │ └───test-classes
    └───WebContent
    └───META-INF

    ReactJS 项目结构
    D:.
    ├───build
    │ └───static
    │ ├───css
    │ └───js
    ├───node_modules
    ├───public
    └───src
    ├───components
    ├───domain
    └───util

    您的 api 端点也将在上下文根下提供。它们与 React 无关。

    @Codo 使用反向代理访问静态内容的提示仍然有效。但是在这里您专门询问了如何在 Spring Boot 应用程序中托管 React 应用程序。

    关于spring - 如何从 Spring Boot 应用程序提供 React 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57040045/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com