时间:2021-05-20
最近由于工作要求:前端采用vue开发,后端采用springboot开发,前后端分离开发,最后前端页面又整合到后端来。经历多次采坑,总结以下方案:
vue打包后,会生成dist目录
springboot静态资源目录如下:
SpringBoot处理静态资源和页面,设置如下:
@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); super.addResourceHandlers(registry);}页面模板设置,如下:
#页面模板设置spring.thymeleaf.option=classpath:/templates/spring.thymeleaf.suffix=.htmlspring.thymeleaf.mode=HTML5spring.thymeleaf.encoding=UTF-8spring.thymeleaf.content-type=text/htmlspring.thymeleaf.cache=false部署方案:
dist的index.html 直接放在templates目录下
dist的css、fonts、img、js 直接放在static目录下
vue使用vue-cli打包后,vendor就将vue.js其他引用的包一起压缩打包进去,导致vendor文件超过1M,影响页面加载速度
本项目使用了vue、vue-router、iview、axios、echarts等
(1)使用vue、vue-router、iview、axios、echarts等cnd引用
在index.html文件中,增加:
(2)打包时,排除vue、vue-router、iview、axios、echarts等打包
在webpack.base.conf.js文件中,module.exports={…} 方法中添加
这里有注意的是:命名问题
比如:vue-router的在https://unpkg.com/vue-router@3.0.1/dist/vue-router.min.js中默认采用VueRouter,所以在import vue-router一定要使用VueRouter,而不能使用其他别名。
vue默认别名是Vue
axios默认别名是axios
vue-router默认别名是VueRouter
iview默认别名是iview
echarts默认别名是echarts
例子:
import Vue from 'vue'import VueRouter from 'vue-router'import iview from 'iview'import echarts from 'echarts'Vue.use(VueRouter)export default new VueRouter({ mode: 'history', ...})(3)vue-router的路由页面设置为按需加载
export default new VueRouter({ mode: 'history', routes: [ //页面1 { path: '/Page1', name: 'page1', component: () => import('@/views/Page1.vue') }, //页面2 { path: '/Page2', name: 'page2', component: () => import('@/views/Page2.vue') } ] });(4)重新打包后vendor.js文件就小了,可以小到1k哦
百度上有很多处理方案,比如:使用errorPage方式处理,nginx配置等,这些问题比较繁琐,而且在部署过程中,一堆问题。
经过多次尝试,发现有一个最简单方法,Controller直接url路径配置到index.html即可,而且轻松解决history模式带来的后端问题,如下:
这种方案非常有利于后端开发人员做更多的进一步操作,比如:给每个页面增加页面权限等。
注意:该方案目前适用于前端页面整合到后端的项目工程。
到此这篇关于SpringBoot集成vue的开发解决方案的文章就介绍到这了,更多相关SpringBoot集成vue内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
这篇文章主要介绍了SpringBoot集成MybatisPlus报错的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
关于多数据源解决方案目前在SpringBoot框架基础上多数据源的解决方案大多手动创建多个DataSource,后续方案有三:继承org.springframe
前言众所周知SpringBoot是非常高效的开发框架,lombok是一套代码模板解决方案,将极大提升开发的效率,这里介绍给大家使用。文中详细介绍了lombok的
1.vue打包后font-awesome字体失效解决方案:2.打包后图片资源失效解决方案:针对html中引用的图片针对css添加的背景中引用的图片以上这篇基于v
一.概述DMOBSV方案是一个基于日志的数据库级可靠性解决方案,它能够进行主备机之间的数据同步和故障切换,是一个集成化的灾难恢复解决方案。该方案的基本原理是,主