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

时间:2017-06-06 22:12:28

标签: service-worker polymer-2.x polymer-cli sw-precache

我有一个简单的问题。

我正在使用Polymer和 Lighthouse 报告构建PWA, ServiceWorker 不会缓存清单start_url

由于我想跟踪使用“添加到主屏幕”的用户' function,我的manifest.json包含

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

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

你有什么想法,如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:3)

ignoreUrlParametersMatching option sw-precache可以为您提供帮助。

默认情况下,它设置为[/^utm_/],这意味着如果您将Web App Manifest配置为

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

然后事情应该按预期工作。如果您想保留?homescreen=1,那么,在生成服务工作者时,您可以更改显式将ignoreUrlParametersMatching参数设置为[/^homescreen/]