vue打包部署到springboot的实现示例

 更新时间:2024年07月09日 11:34:43   作者:峰晨朴朴  
项目开发中,一般我们都会使用SpringBoot+Vue进行前后端开发,本文主要介绍了vue打包部署到springboot的实现示例,具有一定的参考价值,感兴趣的可以了解一下

如果不清楚springboot中的static和templates目录可以看这篇

static和templates目录

1、问题

vue打包后部署到springboot中访问,毕竟前后端分离部署的时候要分开,多了一个服务,可以将vue打包后放在springboot中的static目录下,网上类似的博文很多,部署的时候遇到几个细节问题,如下都会一一列举出来,希望对你有帮助。

2、vue打包

vue打包部署到springboot中,路由中的mode要设置成 hash

// vue打包部署到springboot中,这里的mode需要改成 hash
export default new Router({
  mode: 'hash',
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

3、打包后的内容放哪里?

一般项目打包后的目录都在dist目录下, 包含static目录和一个index.html文件。

第一种将static目录和index.html文件都放在springboot中的resources目录下;

第二种如果不想用默认static目录,可以自己新建一个目录,注意要改配置文件,告诉springboot你的静态目录是什么。

spring.web.resources.static-locations = classpath:/staticxxx/

4、访问

第一种

直接访问静态文件:ip:port/index.html

第二种带个.html看着不太好,那就先进controller,转发到index.html

ip:port/index

@GetMapping("/index")
public String index() {
    return "forward:/index.html";
}

如果使用了security,注意放开静态资源权限,不然会404。

5、多个项目怎么部署

如果共用一个接口,但前端是好几个项目,都想打包扔到springboot中访问。

比如有shop项目,有user项目。

在springboot中的static目录下建两个文件夹,shop和user;各自的文件夹下放各自前端项目的包, 如果用进controller再转发的方式访问,注意 RequestMapping(“shop”) ,这里的shop和static下的shop名字要一直,不然转发后会提示404找不到静态资源,这个和转发的原理有关。

如下:

ip:port/shop/index

shop目录
RequestMapping("/shop")

@GetMapping("/index")
public String index() {
   return "forward:/shop/index.html";
}

ip:port/user/index

user目录
RequestMapping("/user")

@GetMapping("/index")
public String index() {
   return "forward:/user/index.html";
}

spring.web.resources.static-locations这个配置可以配置多个静态目录,上面这种情况是不是可以在resources下直接新建shop和user目录,然后把他们都标识成静态,这种方式没试,空了在研究研究。

到此这篇关于vue打包部署到springboot的实现示例的文章就介绍到这了,更多相关vue打包部署到springboot内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue中的锚点定位问题

    vue中的锚点定位问题

    这篇文章主要介绍了vue中的锚点定位问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue3数组或对象赋值不更新解决方法示例

    vue3数组或对象赋值不更新解决方法示例

    这篇文章主要为大家介绍了vue3数组或对象赋值不更新解决方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Vue 中 onclick和@click区别解析

    Vue 中 onclick和@click区别解析

    这篇文章主要介绍了Vue 中 onclick和@click区别,简单点说就是onclick 只能触发 js的原生方法,不能触发vue的封装方法,@click 只能触发vue的封装方法,不能触发js的原生方法,需要的朋友可以参考下
    2024-02-02
  • uniapp模仿微信实现聊天界面的示例代码

    uniapp模仿微信实现聊天界面的示例代码

    这篇文章主要介绍了如何利用uniapp模仿微信,实现一个聊天界面。文中的示例代码讲解详细,对我们学习Vue有一定的帮助,感兴趣的可以了解一下
    2022-01-01
  • vue 内联样式style中的background用法说明

    vue 内联样式style中的background用法说明

    这篇文章主要介绍了vue 内联样式style中的background用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue定时器清除不掉,导致功能频繁执行问题

    vue定时器清除不掉,导致功能频繁执行问题

    这篇文章主要介绍了vue定时器清除不掉,导致功能频繁执行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vuex state中的数组变化监听实例

    vuex state中的数组变化监听实例

    今天小编就为大家分享一篇vuex state中的数组变化监听实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • el-table树形表格表单验证(列表生成序号)

    el-table树形表格表单验证(列表生成序号)

    这篇文章主要介绍了el-table树形表格表单验证(列表生成序号),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Vue文件下载进度条的实现过程

    Vue文件下载进度条的实现过程

    这篇文章主要介绍了Vue文件下载进度条的实现原理,通过使用onDownloadProgress方法API获取进度及文件大小等数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 解决vue 按钮多次点击重复提交数据问题

    解决vue 按钮多次点击重复提交数据问题

    这篇文章主要介绍了vue 按钮多次点击重复提交数据的问题,本文通过实例结合的形式给大家介绍的非常详细,需要的朋友可以参考下
    2018-05-05

最新评论