sw-precache,使用 URL 参数缓存文件

sw-precache, cache files with URL Parameters

我有一个简短的问题。

我正在使用 Polymer 构建 PWA,Lighthouse 报告说,ServiceWorker[=31= 未缓存清单的 start_url ].

因为我想跟踪使用'Add to homescreen'函数的用户,所以我的manifest.json包含

"start_url": "index.html?homescreen=1",

我尝试将这个确切的字符串放入我的 sw-precache 配置文件中,但脚本生成了一个 ServiceWorker,它只缓存 index.html 文件。 (我知道,缓存 index.html & index.html?homescreen=1 有点多余)

您知道如何解决此问题吗?

谢谢!

ignoreUrlParametersMatching option sw-precache 这里可以帮到你。

默认情况下,它设置为 [/^utm_/],这意味着如果您将 Web 应用程序清单配置为

{
  "start_url": "index.html?utm_source=homescreen"
}

然后事情应该按预期工作。如果您想保留 ?homescreen=1,那么在生成 Service Worker 时,您可以明确地将 ignoreUrlParametersMatching 参数设置为 [/^homescreen/].