如何强制更新客户端的 CSS 缓存?
How force update the CSS cache of the client?
我在更新网站上的 CSS 样式表时遇到问题。
我正在使用 nodejs 并表示为服务器。更新 CSS 代码时,我希望它自动使用新样式。我通过给 CSS 文件一个版本号来做到这一点,例如 ?v=3'
<link rel='stylesheet' href='/stylesheets/style.css?v=3'/>
部署新版本的网站时(使用更新的样式表),它仍然显示以前的 CSS 样式,即使 HTML 中的 CSS 版本引用最新版本。 (查看源代码时(CTRL+U))
我还从 Cloudflare 中清除了 Cache 并将其置于开发者模式,这并没有改变。
打开隐身标签时,样式会更新。
我该如何解决这个问题?
正如其他人所提到的,通常您会通过附加新字符串来破坏缓存(浏览器缓存)来完成此操作。因此,正如您所说,更新查询字符串参数通常会获取新文件,但是阅读您提到的问题 'Cloudflare'.
这表明您的网站前面有一个 CDN,因此您有一个额外的层,可能会或可能不会接受查询字符串。如果您将 CDN 配置为缓存整个字符串(包括查询字符串),那么它应该可以工作。但是,如果您不这样做,那么 Cloudflare 将只接受主要请求,而不会查看查询字符串变量。
我在更新网站上的 CSS 样式表时遇到问题。
我正在使用 nodejs 并表示为服务器。更新 CSS 代码时,我希望它自动使用新样式。我通过给 CSS 文件一个版本号来做到这一点,例如 ?v=3'
<link rel='stylesheet' href='/stylesheets/style.css?v=3'/>
部署新版本的网站时(使用更新的样式表),它仍然显示以前的 CSS 样式,即使 HTML 中的 CSS 版本引用最新版本。 (查看源代码时(CTRL+U))
我还从 Cloudflare 中清除了 Cache 并将其置于开发者模式,这并没有改变。
打开隐身标签时,样式会更新。
我该如何解决这个问题?
正如其他人所提到的,通常您会通过附加新字符串来破坏缓存(浏览器缓存)来完成此操作。因此,正如您所说,更新查询字符串参数通常会获取新文件,但是阅读您提到的问题 'Cloudflare'.
这表明您的网站前面有一个 CDN,因此您有一个额外的层,可能会或可能不会接受查询字符串。如果您将 CDN 配置为缓存整个字符串(包括查询字符串),那么它应该可以工作。但是,如果您不这样做,那么 Cloudflare 将只接受主要请求,而不会查看查询字符串变量。