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


Posted in Vue.js onDecember 30, 2020

前后端分离开发项目

前端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 合并部署内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
vue实现表格合并功能
Dec 01 Vue.js
Vue $attrs &amp; inheritAttr实现button禁用效果案例
Dec 07 Vue.js
vuex的使用步骤
Jan 06 Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
原生JS封装vue Tab切换效果
Apr 28 Vue.js
Vue项目中如何封装axios(统一管理http请求)
May 02 Vue.js
详解Vue的sync修饰符
May 15 Vue.js
SSM VUE Axios详解
Oct 05 Vue.js
vue中 this.$set的使用详解
Nov 17 Vue.js
vue实现拖拽交换位置
Apr 07 Vue.js
vue生命周期钩子函数以及触发时机
Apr 26 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 #Vue.js
梳理一下vue中的生命周期
Dec 30 #Vue.js
Vue实现简易购物车页面
Dec 30 #Vue.js
利用Vue实现简易播放器的完整代码
Dec 30 #Vue.js
vue+element UI实现树形表格
Dec 29 #Vue.js
vue实现树状表格效果
Dec 29 #Vue.js
vue实现图书管理系统
Dec 29 #Vue.js
You might like
S900/ ETON E1-XM 收音机
2021/03/02 无线电
利用php绘制饼状图的实现代码
2013/06/07 PHP
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
JS常用知识点整理
2017/01/21 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
Python本地与全局命名空间用法实例
2015/06/16 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
护士实习自我鉴定
2013/10/22 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
应届大专生自荐书
2014/06/16 职场文书
民族精神月活动总结
2014/08/28 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android