vue项目浏览器缓存问题

在Vue项目中,每次jenkins构建后,页面未自动更新,需要手动刷新才能显示新代码,问题根源在于HTML缓存。通过检查network发现首页返回状态码为304,确认为HTML缓存导致。为了解决这一问题,计划通过Nginx配置禁止HTML文件的缓存,如添加Cache-Control头。配置包括针对html和htm文件的规则,以及开启gzip压缩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目中遇到比较棘手的事,就是每次通过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
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值