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 +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 Vue.js
在vue中动态修改css其中一个属性值操作
Dec 07 Vue.js
8个非常实用的Vue自定义指令
Dec 15 Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
vue实现图书管理系统
Dec 29 Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
vue+flask实现视频合成功能(拖拽上传)
Mar 04 Vue.js
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
关于Vue中的options选项
Mar 22 Vue.js
vue代码分块和懒加载非必要资源文件
Apr 11 Vue.js
vue里使用create, mounted调用方法
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
文件系统基本操作类
2006/11/23 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
Python 命令行非阻塞输入的小例子
2013/09/27 Python
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Python Matplotlib库入门指南
2015/05/18 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
外贸业务员求职信范文
2013/12/12 职场文书
计算机软件专业求职信
2014/06/10 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
2014年采购部工作总结
2014/11/20 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis