2017-06-06 99 views
1

我有一个快速问题。sw-precache,具有URL参数的缓存文件

我建立一个PWA与聚合物和灯塔报告,该清单的start_url不是由ServiceWorker缓存。

因为我想跟踪用户的,使用“添加到主屏幕”功能,我的manifest.json含有

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

我试图把这个确切的串到我sw-precache配置文件,但脚本生成一个ServiceWorker,它只是缓存index.html文件。我知道,它有点多余缓存index.html & index.html?homescreen = 1)

你有什么想法,如何解决这种行为?

谢谢!

回答

2

ignoreUrlParametersMatching optionsw-precache可以帮助你在这里。

默认情况下,它被设置为[/^utm_/],也就是说如果你配置你的Web应用程序清单一样

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

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

+0

这是一个非常好的答案! 你有一个想法,如何缓存路线,像'start_url:'/ about?utm_source = homescreen'这将解决位于'/ src/views/about-view.html'的视图文件? –

+0

不,我不确定。 –

+0

是否可以将这样的规则添加到使用[create-react-app](https://github.com/facebookincubator/create-react-app)样板创建而不弹出的应用程序中? –