是否可以使用缓存控制但仅适用于静态资产,如图像,字体,CSS和js?
这是我的解决方法
[[headers]]
for = "/*" # This defines which paths this specific [[headers]] block will cover.
[headers.values]
Cache-Control = "public, max-age=604800"
它几乎可以工作但不像我预期的那样。即使我更新内容,该网站似乎也使用旧版本。
您现在已经说过,浏览器应该为访问过您网站的所有人缓存每个文件,包括index.html。因此,您会看到您网站的旧版本。
这可能不是你想要的。更好的方法是创建几个标头规则,每种类型一个:
[[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为0,但它确实允许缓存内容并启用原子回滚和部署。以下是有关的详细信息:https://www.netlify.com/blog/2017/02/23/better-living-through-caching/