Java 用ReactJS实现Spring引导
下面我将使用reactjs项目创建一个spring引导Java 用ReactJS实现Spring引导,java,reactjs,spring-boot,Java,Reactjs,Spring Boot,下面我将使用reactjs项目创建一个spring引导 为了使我的项目能够工作,我注意到我必须同时运行nodejs服务器和spring-boot嵌入式tomcat服务器(我使用warn start启动react应用程序)。情况会一直如此吗?nodejs服务器是否需要运行才能将spring引导响应呈现到我的reactjs UI中?或者我只能让tomcat服务器运行 另外,我注意到在我的react应用程序中,它启动于localhost:3000,而我的spring boot应用程序启动于loca
为了使我的项目能够工作,我注意到我必须同时运行nodejs服务器和spring-boot嵌入式tomcat服务器(我使用
warn start
启动react应用程序)。情况会一直如此吗?nodejs服务器是否需要运行才能将spring引导响应呈现到我的reactjs UI中?或者我只能让tomcat服务器运行
另外,我注意到在我的react应用程序中,它启动于localhost:3000,而我的spring boot应用程序启动于localhost:9080。在我的
package.json
中,我将代理定义为localhost:8080
。如何使两个应用程序位于同一主机和服务端口下 @Robin,大约9个月前,我用同样的技术为上一家公司做了一个项目。在我离开之前,我把它投入生产,这是一次成功的尝试!我有这个项目的样板
看看这个结构。示例:对于开发,请继续使用spring boot工具和Thread start For reactjs!但是,当您要生成jar/war时,请确保您已经在react项目中构建了(纱线运行构建) @Robin,大约9个月前,我用同样的技术为上一家公司做了一个项目。在我离开之前,我把它投入生产,这是一次成功的尝试!我有这个项目的样板
看看这个结构。示例:对于开发,请继续使用spring boot工具和Thread start For reactjs!但是,当您要生成jar/war时,请确保您已经在react项目中构建了(纱线运行构建) 遵循我下面的步骤,你会很好
/opt/您的项目名称
nohupjava-jarjarname&
运行您的启动应用程序,或者您为它创建服务,阅读spring文档以将jar作为服务运行8090
或8080
上启动你的应用程序apache/ngnix
root文件夹下/var/www/html
http://www.example.com
和后端API可在http://www.example.com:8080
确保允许使用8080和80
现在你想,不,我也希望我的api可以被www.example.com
访问,然后首先确保定义了上下文路径,以便api可以与基本路径一起使用,比如说/api
是你的基本路径
然后在apache或ngnix服务器中定义代理
<VirtualHost *:80>
ProxyRequests Off
ProxyPass /api http://localhost:8080/api
ProxyPassReverse /api http://localhost:8080/api
</VirtualHost>
代理请求关闭
ProxyPass/apihttp://localhost:8080/api
ProxyPassReverse/apihttp://localhost:8080/api
现在,您也可以在
www.example.com/api
上访问您的api了,请按照下面的步骤操作,这样您就可以了
/opt/您的项目名称
nohupjava-jarjarname&
运行您的启动应用程序,或者您为它创建服务,阅读spring文档以将jar作为服务运行8090
或8080
上启动你的应用程序apache/ngnix
root文件夹下/var/www/html
http://www.example.com
和后端API可在http://www.example.com:8080
确保允许使用8080和80
现在你想,不,我也希望我的api可以被www.example.com
访问,然后首先确保定义了上下文路径,以便api可以与基本路径一起使用,比如说/api
是你的基本路径
然后在apache或ngnix服务器中定义代理
<VirtualHost *:80>
ProxyRequests Off
ProxyPass /api http://localhost:8080/api
ProxyPassReverse /api http://localhost:8080/api
</VirtualHost>
代理请求关闭
ProxyPass/apihttp://localhost:8080/api
ProxyPassReverse/apihttp://localhost:8080/api
现在,您也可以在
www.example.com/api
上访问api了,不同的端口只在开发过程中才会出现,因此您可以分别利用这两种平台的开发工具。在产品中,React将作为静态HTML/CSS/JS资源使用。开发代理用于复制生产环境,其中React将用作静态资源,在Spring中对端点进行HTTP调用。@AlexanderStaroselsky Hmm但jar文件是如何生成的?只有在开发过程中才会使用不同的端口,因此,您可以分别利用这两种平台的开发工具。在产品中,React将作为静态HTML/CSS/JS资源使用。开发代理旨在复制生产环境