一个浏览器缓存问题

对于前端打包的项目,如果要升级,hash都变了,如果用户在点击老的版本,想沿用老的版本的东西(就是除非用户自己去刷新页面才更新资源),怎么办?

阅读 2.6k
4 个回答

PWA应用了解一下

  1. 图片资源,如果图片没有变动 hash 应该是没变化的
  2. static 资源目录下的资源是不会被 webpack 打包压缩的
  3. 资源文件的命名是可配置的,你可以去掉[hash:10]这个参数(不推荐,会导致所有图片都不会有hash)

用户为什么要点击老的版本呢?是不是因为你发现如果用户在发布前打开了页面,但是进行发布后用户还在同一个会话里,点击就会加载老的资源,但是因为发布了新的版本拿不到老资源而产生报错?如果这样的话可以发布时把这次的资源拷贝到上次的资源里,同名覆盖不同的共存,这样两种都能正常用

正常的前端处理,这种情况是需要带版本信息的(纯资源可以不带,从而可以自己缓存使用,如果涉及以往没有缓存的会自动从新获取)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题