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页面刷新,数据丢失的问题
Nov 24 Vue.js
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
Vue实现简易购物车页面
Dec 30 Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
vue 根据选择的月份动态展示日期对应的星期几
Feb 06 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
一篇文章告诉你如何实现Vue前端分页和后端分页
Feb 18 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
十天学会php之第八天
2006/10/09 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
PHP仿盗链代码
2012/06/03 PHP
php class类的用法详细总结
2013/10/17 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
JS event使用方法详解
2008/04/28 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
三星英国官网:Samsung英国
2018/09/25 全球购物
会计实习自我鉴定
2013/12/04 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
保姆聘用合同
2015/09/21 职场文书
2016年教代会开幕词
2016/03/04 职场文书
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技