Vue SPA怎么解决浏览器缓存问题

这篇文章主要介绍“VueSPA怎么解决浏览器缓存问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“VueSPA怎么解决浏览器缓存问题”文章能帮助大家解决问题。VueSPA

这篇文章主要介绍“Vue SPA怎么解决浏览器缓存问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue SPA怎么解决浏览器缓存问题”文章能帮助大家解决问题。

Vue SPA 解决浏览器缓存

如何让发布到线上的 vue 单页应用能及时更新到浏览器,而无需用户强制刷新页面呢?

因为 js、css、图片等资源文件名带有 hash 值,只要文件名变了就会更新,所以可以设置缓存,但 html 文件名没有加 hash 值,所以不能缓存该文件。

在 nginx.conf 中设置

        location / {
            root html/dist;
            index index.html index.htm;
            if ($request_filename ~* .*\\.(js|css|woff|png|jpg|jpeg)$) {
                expires    100d;  # js、css、图片缓存100天(因为文件名有hash)
                #add_header Cache-Control "max-age = 8640000"; # 或者设置max-age
            }
         
            if ($request_filename ~* .*\\.(?:htm|html)$) {
                add_header Cache-Control "no-store";  # html不缓存(因为文件名没有加hash)
            }
        }

通过上述配置,让浏览器不缓存 html 文件。

Vue 微信浏览器缓存问题

1.试过js、css打包时添加时间戳,因为打包后每次都是新名字的文件,所以感觉加不加时间戳都没有效果 试了一下果然

原因应该是微信浏览器缓存了index.html, 所以打开缓存的页面根本没有任何请求

2.试过index.html添加meta标签,设置不缓存页面,亲测也无效

3.index.html 试过添加参数,本以为微信浏览器会认为是一个新页面, 但是无果

4.js 间隔时间自动刷新window.location.href 体验不好,还是去掉了

5.既然前端试了很多种办法 还是无效,只能在服务端配置了,

location = /index.html { 
    add_header Cache-Control "no-cache, no-store"; 
}

这句话应该也是让index.html不缓存,尝试了下,这种办法没有兼容问题,安卓和ios每次打开页面都及时更新了

关于“Vue SPA怎么解决浏览器缓存问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注恰卡网行业资讯频道,小编每天都会为大家更新不同的知识点。

本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
开发者

Redis的事务实例分析

2022-8-3 21:21:03

开发者

Java GUI图形界面开发如何实现小型计算器

2022-8-3 21:21:08

搜索