2017-06-06 70 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)樣板創建而不彈出的應用程序中? –