欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot+Vue 前后端合并部署的配置方法

程序员文章站 2022-03-27 15:16:01
前后端分离开发项目前端vue项目服务端springboot项目如何将vue的静态资源整合到springboot项目里,通过启动jar包的方式部署服务。前端项目执行npm run build命令进行打包...

前后端分离开发项目

前端vue项目

服务端springboot项目

如何将vue的静态资源整合到springboot项目里,通过启动jar包的方式部署服务。

前端项目执行npm run build命令进行打包,会自动生成打包后的dist目录文件所有东西放置在resources/static文件下,如下图

  SpringBoot+Vue 前后端合并部署的配置方法

此处index.html文件的资源路径(需要在前端打包配置中进行配置)应该如下图:

  SpringBoot+Vue 前后端合并部署的配置方法

对应的springboot:application.yml需添加:

server:
  port: 8080
  tomcat:
    uri-encoding: utf-8
spring:
  application:
    name: "xxxx"
  servlet:
    application-display-name: myproject
  mvc:
    static-path-pattern: /static/**

为了解决vue-router路由的路径无法正常解析

将vue-router中的路径加上统一的前缀“/vuexx”(自定义),然后在springboot项目中自定义过滤器,拦截带“/vuexx”的路径,将请求转发到“/index.html”(将vue的路由资源交给路由处理)。

启动类中需添加:

public class myproject {
  public static void main(string[] args) {
    springapplication.run(myproject.class,args);
  }
   @bean
  public webserverfactorycustomizer<configurablewebserverfactory> webserverfactorycustomizer(){
    return factory -> {
      errorpage error404page = new errorpage(httpstatus.not_found, "/static/index.html");
      factory.adderrorpages(error404page);
    };
  }
}

如果在项目中配置了过滤器:需要在过滤器中去除对应的资源文件后缀的过滤条件。

配置至此,启动项目应该是可以访问到页面。可以在浏览器打开调试工具,查看network下的请求地址是否成功再进行排查。

到此这篇关于springboot+vue 前后端合并部署的文章就介绍到这了,更多相关springboot+vue 合并部署内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!