缓存破坏与版本控制似乎不起作用

时间:2021-02-18 19:13:34

标签: reactjs browser-cache cloudflare

我目前正在使用版本控制来破坏缓存。我曾经用日期或版本生成不同的文件名。但是,它会破坏 google 缓存页面,因为 google 会查找旧文件名。

我有一个用于分块的 webpack 设置。

output.filename = '[name].js?v=' + hash
output.chunkFilename = '[name].js?v=' + hash

我可以看到浏览器正确地使用 v=xxx 请求文件

但是,有时我需要让我的客户打开开发工具并点击清除缓存和硬刷新,因为正常刷新以某种方式不起作用。

我也使用 Cloudflare cdn,它确实有缓存策略。 Cloudflare 响应标头。

cache-control: max-age=31536000
cf-bgj: minify
cf-cache-status: HIT
cf-polished: origSize=9873

如何确保浏览器和 cloudflare 在推送新代码时清除所有 js 和 css 文件?

当正常刷新不起作用时不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

在 Cloudflare 上,有多种方法可以控制缓存的行为

您还有多种选择(取决于计划)使用 Cache Purge(从仪表板或通过 API)主动清除某些资源。

值得查看上述设置(特别是缓存级别和页面规则)以验证查询字符串是否被视为用于检索数据的缓存键的一部分。特别是,标头 cf-cache-status: HIT 表示请求的资源是从 CDN 缓存副本中获取的。

相关问题