为了账号安全,请及时绑定邮箱和手机立即绑定

如何在代码中控制,使发布后浏览器能够不使用缓存或清缓存?

如何在代码中控制,使发布后浏览器能够不使用缓存或清缓存?

函数式编程 2018-08-10 11:10:36
网站正在狂测阶段,每发布一版之后,有时候会因为缓存导致错误,请问如何用代码控制,使浏览器加载新版本时不要用缓存呢?
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

你应该考虑的是如何实现文件版本号 hash 化而不是本末倒置去禁用缓存。
当然,本地开发环境直接禁用浏览器缓存即可。


meta 标签的控制

// 栗子如下<meta http-equiv="cache-control" content="max-age=0" /><meta http-equiv="cache-control" content="no-cache" /><meta http-equiv="expires" content="0" /><meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /><meta http-equiv="pragma" content="no-cache" />

简单总结一下我刚才查的资料

  • http-equiv=“pragma" 使用content属性的no-cache值表示是否缓存网页

  • http-equiv=“expires" content设为日期能够控制缓存何时过期(注意必须使用GMT时间格式),等于0或-1禁用缓存浏览本站

  • 对于各项cache-control的解释,大家可以查看该链接

操作文件名使浏览器重新加载文件

可以在文件名后面加上MD5,时间戳,哈希值等随机数
比如我使用的是webpack打包,此时可以在webpack.config.js中对output的文件名进行配置

output: {    filename: "[name]-[hash:6].js” // 加入了哈希
}


查看完整回答
反对 回复 2018-09-15
  • 1 回答
  • 0 关注
  • 863 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信