web前端发布问题

1、起因是公司做了一个后台管理系统(技术框架是Vue, UI库是使用Element ui) 这个系统已经有很多用户使用了。
2、原先发布方式就是本地打包放到服务器上,但那天我想使用自动发布方式(公司开发的一套发布系统,发布方式时覆盖式发布,js版本号每次都会变),发完的第二天就出问题了,很多用户加载不到最新资源,导致左侧点不动(原因是我的左侧菜单路由采取懒加载模式,最新资源加载不到浏览器报错了),我只能让他们刷新,但有的用户浏览器缓存严重,就必须让ctrl + f5强制刷新才行
3、想问下其他的一些大公司的前端发布方式是如何避免系统正在发布时,用户他也正巧在使用中,这样情况的话得必须让他主动刷新这样问题的,谢谢~~ 。(现在想到的方案可以用CDN保存最近几次发布的版本,然后定时去除最旧资源)

阅读 2.9k
2 个回答

这种问题的根源应该是系统的html页面被缓存了,html页面中请求的资源还是发布之前的资源,导致问题。
可以禁止浏览器缓存html页面信息。

<meta HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate"> 
<meta HTTP-EQUIV="expires" CONTENT="0">
  1. 旧资源不删也行,不就点 JS、CSS,几乎没什么消耗
  2. 使用 HTTP header 控制全部资源的缓存,方案你可以找找看,很多介绍的文章。重点在于你要想办法采用同样地策略,不要有些过期了有些还在走缓存。
  3. 大体上,如果你的新版本对用户有帮助的话,他们会愿意配合你的刷新策略。更多的时候,后台都要保留各个版本的接口,不太会出现不兼容的情况。你可以定时读取版本信息,提示用户刷新。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题