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 表单输入框不支持focus及blur事件的解决方案
Nov 17 Vue.js
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
Vue看了就会的8个小技巧
Jan 21 Vue.js
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
vue3.0 项目搭建和使用流程
Mar 04 Vue.js
vue3使用vue-router的完整步骤记录
Jun 20 Vue.js
vue中 this.$set的使用详解
Nov 17 Vue.js
教你部署vue项目到docker
Apr 05 Vue.js
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
jquery 使用简明教程
2014/03/05 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python超简单解决约瑟夫环问题
2015/05/12 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
打架检讨书100字
2014/01/19 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
采购意向书范本
2014/03/31 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
假面舞会策划方案
2014/05/29 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
高一语文教学反思
2016/02/16 职场文书