vue项目如何让网页端(浏览器不缓存)自动更新?

发布于 2022-09-12 00:20:34 字数 70 浏览 16 评论 0

vue-li3项目打包之后部署到服务器的nginx上,怎么让浏览器不缓存信息,每次更新,用户都能看到最新的界面,而不是缓存的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

心奴独伤 2022-09-19 00:20:34

模板开头加:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

nginx 配置加:

add_header Cache-Control no-store;

这就可以禁用 HTTP 缓存了,但要注意这得客户端的浏览器遵守 HTTP 规范才行,遇上不鸟规范的(对,就说你呢,微信X5内核),没辙。

离不开的别离 2022-09-19 00:20:34

楼上已经正解,nginx不使用缓存,页面也加入标签禁用缓存

忆伤 2022-09-19 00:20:34

或者你可以打包的时候生成一个version.js,然后在router.js routerBeforeach使用jsonp请求这个文件,进行判断,版本号不一致就刷新页面

再见回来 2022-09-19 00:20:34

是为了调试用么? 线上一般很少有人不希望走缓存吧? 调试阶段可以尝试打开 F12 里面 network 的 disabled cached 。 就不会走缓存了

℡寂寞咖啡 2022-09-19 00:20:34

打包时候给静态文件增加随机参数比如 http://aaa.com/static/app.js?...
此参数每次打包或更新时候修改,就可以让浏览器判断为两个文件,不缓存

断念 2022-09-19 00:20:34

兄弟 , 你这个缓存问题 现在处理好了吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文