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 相关文章推荐
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
详解vue3中组件的非兼容变更
Mar 03 Vue.js
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
vue+spring boot实现校验码功能
May 27 Vue.js
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 Vue.js
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
Apr 11 Vue.js
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
关于vue-router-link选择样式设置
Apr 30 Vue.js
Vue3实现简易音乐播放器组件
Aug 14 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 图像函数大举例(非原创)
2009/06/20 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
php获取文件大小的方法
2014/02/26 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
JS基础之undefined与null的区别分析
2011/08/08 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
JavaScript 里的类数组对象
2015/04/08 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
Python paramiko模块的使用示例
2018/04/11 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
行政主管岗位职责
2013/11/18 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
党建示范点实施方案
2014/03/12 职场文书
技术支持岗位职责
2015/02/13 职场文书
校长新学期致辞
2015/07/30 职场文书