vue项目解决发包浏览器缓存问题
欢迎关注前端早茶,与广东靓仔携手共同进阶
前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~
问题描述
当程序版本升级时,用户因为缓存访问的还是老的页面,不会自动更新修改的的文件
解决方案
两种解决方案均可
- nginx
server { listen 80; server_name yourdomain.com; location / { try_files $uri $uri/ /index.html; root /yourdir/; index index.html index.htm; if ($request_filename ~* .*\.(?:htm|html)$) { add_header Cache-Control "no-cache, no-store"; //对html文件设置永远不缓存 } } }
- no-cache
数据内容不能被缓存, 每次请求都重新访问服务器, 若有max-age(最大缓存期), 则缓存期间不访问服务器 - no-store
不仅不能缓存, 连暂存也不可以(即: 临时文件夹中不能暂存该资源)
- vue.config.js
let timeStamp = new Date().getTime(); configureWebpack: config => { if (process.env.NODE_ENV === 'production') { config.output.filename = `js/[name].${timeStamp}.js` config.output.chunkFilename = `js/[name].${timeStamp}.js` } }, css: { extract: { ignoreOrder: true, filename: `css/[name].${timeStamp}.css`, chunkFilename: `css/[name].${timeStamp}.css`, } },
欢迎关注前端早茶,与广东靓仔携手共同进阶
前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构