部署 spring 个带有 React 前端的应用程序到 heroku
deploying spring app with react frontend to heroku
我有一个带有 Spring 后端的 React 应用程序。我已成功将 Spring 网络应用程序部署到 Heroku,我可以通过 postman 向端点发送 http 请求,它们工作正常。
但我不确定我应该如何让 heroku 上的应用程序使用反应前端。
到目前为止我的结构如下,
syftgolf
-.idea
-.mvn
-src
-target
-uploads-dev
-uploads-prod
-uploads-test
-.gitignore
-HELP.md
-mvnw
-mvnw.cmd
-pom.xml
-syftgolf.iml
-system.properties
然后在src
我有
src
-main
--frontend //Front end react code
--java //Java code for Spring web app
--resources
-test
我在我的路由目录上使用 heroku CLI 命令 git push heroku master
将应用程序部署到 heroku,这似乎会自动删除它的 java 应用程序,然后从那里构建应用程序。
虽然构建 React 应用程序的正确方法是什么,但我还是卡住了?我阅读了 post 关于先构建它并将其添加到我的 Spring 应用程序的 target/classes/static
文件夹中的内容,但该文件夹似乎不存在。
执行此操作的正确方法是什么,所以在部署时,我在 heroku 上的应用程序也会显示前端内容。
您需要告诉 Maven React 应用程序资源在哪里以及将它们添加到输出工件中的什么位置。使用maven资源插件如下:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/classes/resources</outputDirectory>
<resources>
<resource>
<directory>/path/to/react/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
只需将资源目录路径更改为您的 React 应用程序构建目录。该插件会将目录中的所有文件复制到您的工件资源文件夹,以便 spring 找到它们。
我有一个带有 Spring 后端的 React 应用程序。我已成功将 Spring 网络应用程序部署到 Heroku,我可以通过 postman 向端点发送 http 请求,它们工作正常。
但我不确定我应该如何让 heroku 上的应用程序使用反应前端。
到目前为止我的结构如下,
syftgolf
-.idea
-.mvn
-src
-target
-uploads-dev
-uploads-prod
-uploads-test
-.gitignore
-HELP.md
-mvnw
-mvnw.cmd
-pom.xml
-syftgolf.iml
-system.properties
然后在src
我有
src
-main
--frontend //Front end react code
--java //Java code for Spring web app
--resources
-test
我在我的路由目录上使用 heroku CLI 命令 git push heroku master
将应用程序部署到 heroku,这似乎会自动删除它的 java 应用程序,然后从那里构建应用程序。
虽然构建 React 应用程序的正确方法是什么,但我还是卡住了?我阅读了 post 关于先构建它并将其添加到我的 Spring 应用程序的 target/classes/static
文件夹中的内容,但该文件夹似乎不存在。
执行此操作的正确方法是什么,所以在部署时,我在 heroku 上的应用程序也会显示前端内容。
您需要告诉 Maven React 应用程序资源在哪里以及将它们添加到输出工件中的什么位置。使用maven资源插件如下:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/classes/resources</outputDirectory>
<resources>
<resource>
<directory>/path/to/react/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
只需将资源目录路径更改为您的 React 应用程序构建目录。该插件会将目录中的所有文件复制到您的工件资源文件夹,以便 spring 找到它们。