Netlify Headers 静态资产的缓存控制

Netlify Headers Cache Control For Static Assets

是否可以拥有缓存控制但仅适用于图像、字体、css 和 js 等静态资产?

这是我的解决方法

[[headers]]
  for = "/*" # This defines which paths this specific [[headers]] block will cover.
  [headers.values]
    Cache-Control = "public, max-age=604800"

它非常有效,但并不像我预期的那样。即使我更新内容,该网站似乎仍使用旧版本。

您现在说浏览器应该为访问过您网站的任何人缓存每个文件,包括 index.html,为期一周。因此,您会看到您网站的旧副本。

这可能不是您想要的。更好的方法是创建多个 header 规则,每种规则一个:

[[headers]]
  for = "*.js" # js files should be set this way
  [headers.values]
    Cache-Control = "public, max-age=604800"
[[headers]]
  for = "*.css" # css files too
  [headers.values]
    Cache-Control = "public, max-age=604800"

但是,您可能甚至不想这样做。 Netlify 非常有意地将缓存设置为 max-age of 0,但它确实允许缓存内容并启用原子回滚和部署。以下是详细信息:https://www.netlify.com/blog/2017/02/23/better-living-through-caching/