【问题标题】:How to set max-age for assetGroups resources?如何为assetGroups资源设置max-age?
【发布时间】:2026-01-03 06:20:09
【问题描述】:

我在 Lighthouse 上测试了我的 angular pwa,得到了以下结果:

我已经更改了我的 ngsw-config.json 以尝试为assetGroups 添加cacheConfig,但它似乎只对dataGroups 有效?

我也尝试编辑我的 htaccess 文件并添加以下行:

标头集 Cache-Control: "max-age=31536000, public"

到目前为止,这些都不适合我。

【问题讨论】:

  • 我不认为这是您可以在客户端上解决的问题。我相信在服务器上,您需要在响应上设置适当的 Cache-Control 标头。
  • @WillTaylor。 “在响应上设置适当的 Cache-Control 标头”是什么意思。这是在后台吗?服务器?
  • @Joseph 是的,就是这样。它是一个标头,需要由为您的静态资产(如 html、css、js 和图像提供服务)的任何服务器设置。
  • @Will Taylor。理想的缓存控制设置是什么?始终将其设置为 0 且无缓存?

标签: angular caching progressive-web-apps cache-control angular-pwa


【解决方案1】:

assetGroups 没有 max-age,但您可以像这样为 dataGroups 设置 max-age:

"dataGroups": [
{
  "name": "API Call",
  "urls": ["https://website.com"],
  "cacheConfig": {
    "maxAge": "30m",
    "strategy": "performance",
    "maxSize": 10
  }
}
]

在与assetGroups 相同的级别上定义它

【讨论】: