React + Spring Boot部署

Zip*_*184 6 node.js reactjs spring-boot

我在使用Spring Boot部署react nodejs应用程序时遇到问题。spring应用程序可以在基本的HTML / JS上正常运行,而且我的react应用程序可以在dev模式下正常运行,但是我似乎缺少将React和spring正确绑定的东西。

当前,我可以使用一些简单的HTML和javascript ajax调用来运行/部署我的spring boot应用程序(不做任何反应)。它可以在我的AWS ec2上正常运行。

我还可以通过节点JS“ npm start”以dev模式运行我的react应用程序,并将其指向我的本地spring boot应用程序。(我添加"proxy": "http://localhost:8080"manifest.json)。我正在努力进行下一步工作,实际上是将我的React应用程序与其余的Spring应用程序捆绑到战争中,并使其正常运行。没有休息电话,我什至无法加载反应性hello-world页面。

我尝试运行npm run build,然后将目录中生成的所有文件复制/build到我的spring项目的中/src/main/resources。我特别复制了:

react-app/build/static/* -> spring-app/src/main/resources/static/.

react-app/build/* -> spring-app/src/main/resources/.
Run Code Online (Sandbox Code Playgroud)

构建war(mvn install)并在本地运行war之后,尝试加载未指定任何页面的服务器时遇到404错误。当我指定index.html时,出现错误,因为它无法将JS和CSS文件加载到我的静态目录中。当我将战争部署到ec2并尝试加载页面时,也会发生相同的问题。

我还缺少其他配置步骤吗?我知道可能需要一些基本的URL配置,以便在开发人员模式之外使用其余的API,但是如果没有任何其余调用,我什至无法加载页面。我试图移动的index.html像不同的位置/resources/static/resources/public。任何帮助,将不胜感激。

man*_*ni0 6

从 Spring 查看本教程,您可能会发现“frontend-maven-plugin”非常有用。我会放弃战争,将你的 Spring Boot 应用程序构建为一个 jar,然后将你的 js 文件放在 src/main/js 中,并将你的 index.html 放在 /src/main/resources/static 中。

该教程可在此处获得:

https://spring.io/guides/tutorials/react-and-spring-data-rest/

代码可在此处获得:

https://github.com/spring-guides/tut-react-and-spring-data-rest/tree/master/basic

使用类似于教程中使用的 webpack.config.js 配置,一旦您使用 maven 前端插件构建,它就会“正常工作”。

正如其他人所建议的那样,最好将前端和后端代码分开(将它们保存在单独的存储库中)。