spring-boot合并vue遇到的坑
- 第一次用spring-boot,项目经理让把spring-boot和vue整个在一起,我说分开有利于分布式部署,经理说不需要,直接整一起,没办法,整!
- 网上找资料,有2种方式,随便搜下都有,我选最简单的那种,直接将vue代码编译,然后将static文件夹和index.html直接丢到maven项目的src/main/resouces文件夹下,放在另外一个static文件内,结构如下:
- 展开:
- 照网上说的弄了下,始终不能访问,不知道是怎么回事,也搜不到相关问题,不知道是不是我搜的不对.最后找到一个spring-boot的applicationn.yml配置文件说明,看到一个配置项:
resources: add-mappings: 是否开放默认的资源处理,默认true
- 不太明白是啥意思,但是我的项目里的application.yml里配置的是false,我想是不是这个问题,我改成true,能成功访问,so happy.原来这个是处理static文件夹下的静态资源的选项,get到新技能.
- 因为这个项目是请的别的架构师搭的,结果隔了几天之后,这个项目的pom.xml文件改了,在里面加了打包文件的拦截:
- WTF,加了这个之后我原先能访问的静态资源文件顿时访问不了,刚开始我以为是我什么地方的配置文件改动了,但是并没有,之后才意识到是pom.xml文件加了东西,咋整,查资料,公司也没人可以问.
- 查了资料才知道是资源拦截,resources里的文件本身是都打包的,加这个后就只打包resouceces文件夹下的logback.xml文件了.主要是看target中是否有已经包括了需要编译的文件,想把static文件整个加进去,我在incldues里又加了一条
- 看了网上的资料都是说怎么弄配置文件,没说怎么把整个static文件夹都放到编译之后的文件中,只好自己试了下,static后面一个只编译子文件,不编译其中的子文件夹以及子文件夹里的资源,加*则是所有都编译.终于是大功告成.
写给自己,遇见更好的自己!