为什么Vue项目部署后刷新页面还是加载旧版本?
我用 Vue3 写了个后台管理系统,打包部署到 Nginx 上之后,用户反馈说改了内容但刷新页面还是看到旧的界面。我试过在 index.html 里加 meta 禁用缓存,也试过给静态资源加 hash,但好像都没用。
这是我的组件里一段代码:
<template>
<div>
<h1>当前版本:v2.1.5</h1>
<p>更新时间:{{ updateTime }}</p>
</div>
</template>
<script setup>
const updateTime = '2024-06-10 14:30';
</script>
明明本地 dev 看到的是新内容,build 之后上传,浏览器却一直读缓存,F5 强刷有时候都不行,得开无痕才行。这到底该怎么彻底解决啊?
首先确保 Nginx 配置里设置了合理的缓存策略。在 nginx.conf 里加上:
然后在 vue.config.js 里配置正确的 output 文件名格式:
别忘了做安全校验,每次部署前检查文件完整性。我以前遇到过因为 CDN 缓存导致的问题,建议你先清空本地缓存再测试。
最后提醒一句,尽量避免在生产环境使用无痕模式调试,这会掩盖真实的缓存问题。还有就是定期清理用户的 localStorage 和 session 数据,防止旧数据干扰。这些问题处理起来虽然麻烦,但都是必要的安全措施。