背景
前后端不分离的项目,用的Springboot2 thymeleaf
用的js原生,没有用到webpack,所以不能在每次js变更以后打包自动给静态文件加上hash后缀。
解决方案:
启用springboot的ContentVersionStrategy功能
配置流程
1、 在application.yml中添加如下配置。(就这么easy
)
spring:
resources:
chain:
strategy:
fixed:
enabled: true
paths: /**
version: v1.0.0
2、升级改进
(上面的方式需要每次发版手动修改版本号,太麻烦。程序员的想法就是能少动手就不BB)动态获取mvn项目版本号,每次发版不用关注上面的配置。将上面配置改为
spring:
resources:
chain:
strategy:
fixed:
enabled: true
paths: /**
version: @project.version@
让上面@project.version@
能被正常解析,需要在mvn pom.xml文件中添加如下配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
验证方式
访问页面,F12控制台,查看到如下请求,即说明你的项目以后再也不用上完线就在用户群让用户清理缓存了。
image.png
参考文档:
网友评论