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 相关文章推荐
springboot+vue实现文件上传下载
Nov 17 Vue.js
vue-drawer-layout实现手势滑出菜单栏
Nov 19 Vue.js
vue-calendar-component 封装多日期选择组件的实例代码
Dec 04 Vue.js
vue使用echarts图表自适应的几种解决方案
Dec 04 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
vue引入Excel表格插件的方法
Apr 28 Vue.js
关于Vue Router的10条高级技巧总结
May 06 Vue.js
vue-cropper组件实现图片切割上传
May 27 Vue.js
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
vue动态绑定style样式
Apr 20 Vue.js
vue修饰符.capture和.self的区别
Apr 22 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图片验证码制作实现分享(全)
2012/05/10 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
2016/11/30 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python搜索指定目录的方法
2015/04/29 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
Python封装原理与实现方法详解
2018/08/28 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
Python坐标线性插值应用实现
2019/11/13 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
linux系统都有哪些运行级别
2012/04/15 面试题
应急管理培训方案
2014/06/12 职场文书
刑事和解协议书范本
2014/11/19 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python