Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用ReactJS实现Spring引导_Java_Reactjs_Spring Boot - Fatal编程技术网

Java 用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

下面我将使用reactjs项目创建一个spring引导


为了使我的项目能够工作,我注意到我必须同时运行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项目中构建了(纱线运行构建)

遵循我下面的步骤,你会很好

  • 在spring引导应用程序的application/properties下,不要定义任何端口,这样sprig引导在默认情况下可以运行到8080或9080,如果您可以在其上运行的话就可以了

  • 创建SpringBoot项目的胖jar

  • 将其部署到服务器上的
    /opt/您的项目名称

  • 使用
    nohupjava-jarjarname&
    运行您的启动应用程序,或者您为它创建服务,阅读spring文档以将jar作为服务运行

  • 它将在
    8090
    8080
    上启动你的应用程序

  • 现在让我们来看看你的前端应用程序,它是在反应

    要运行前端应用程序,有两种方法

  • 在您的计算机上安装apache或ngnix服务器
  • 运行“纱线构建”,它将在“构建”文件夹下生成优化文件,确保定义应用程序后端url
  • 将所有生成的文件部署到ex
    apache/ngnix
    root文件夹下
    /var/www/html
  • 现在,如果你有域名example.com,那么你的前端应用程序可以通过
    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了,请按照下面的步骤操作,这样您就可以了

  • 在spring引导应用程序的application/properties下,不要定义任何端口,这样sprig引导在默认情况下可以运行到8080或9080,如果您可以在其上运行的话就可以了

  • 创建SpringBoot项目的胖jar

  • 将其部署到服务器上的
    /opt/您的项目名称

  • 使用
    nohupjava-jarjarname&
    运行您的启动应用程序,或者您为它创建服务,阅读spring文档以将jar作为服务运行

  • 它将在
    8090
    8080
    上启动你的应用程序

  • 现在让我们来看看你的前端应用程序,它是在反应

    要运行前端应用程序,有两种方法

  • 在您的计算机上安装apache或ngnix服务器
  • 运行“纱线构建”,它将在“构建”文件夹下生成优化文件,确保定义应用程序后端url
  • 将所有生成的文件部署到ex
    apache/ngnix
    root文件夹下
    /var/www/html
  • 现在,如果你有域名example.com,那么你的前端应用程序可以通过
    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资源使用。开发代理旨在复制生产环境