美文网首页
springboot2 thymeleaf 静态资源加版本号控制

springboot2 thymeleaf 静态资源加版本号控制

作者: jackcooper | 来源:发表于2020-12-31 11:51 被阅读0次

    背景

    前后端不分离的项目,用的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

    参考文档:

    相关文章

      网友评论

          本文标题:springboot2 thymeleaf 静态资源加版本号控制

          本文链接:https://www.haomeiwen.com/subject/omploktx.html