在项目中遇到比较棘手的事,就是每次通过jenkins构建发布后最新的代码,访问的是一直是原页面,必须手动刷新才会显示最新的代码,一开始就定位的是浏览器缓存问题。网上也漫无目的的查资料,也一直没有解决。vue脚手架打包的文件都会加上hash值的,但是忽略的html的缓存机制

打开network查看所有资源,查看到首页 状态码是304 Not Modified,进而可以定位到是html缓存问题
在这里插入图片描述
为了解决这个问题 最简单的办法就是让html不做任何缓存,通过nginx来配置 网上也查了一些资料

location / {
                if ($request_filename ~* .*\.(?:htm|html)$)  ## 配置页面不缓存html和htm结尾的文件
                {
                   add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
                }
                root /apps/web/;
                index index.html
                gzip_static on;  // 开启gzip
        }
Logo

前往低代码交流专区

更多推荐