1

我目前正在建立一個聚合物,應該主要感覺像一個本地應用程序的漸進網頁應用程序。我已經創建了一個清單,但更重要的是,應用程序的加載速度儘可能快。我以爲以下步驟這樣做的:服務工作者緩存優先和更新資源在背景

一旦Serviceworker註冊&所有資源被緩存,我想Serviceworker從緩存中始終加載的資源,即使有互聯網連接。在運行時,Web應用程序應檢查是否有新資源可用或任何已更改。如果是這樣,請在後臺下載它們,將它們保存在緩存中,這樣當下一次加載Web應用程序時,它將使用新的資源。

對服務人員和緩存相對較新,任何建議,鏈接或想法都非常感謝!

回答

0

基於傑夫Posnick的評論更新時間:

你看看到platinium-sw-cache元素? 它基於sw-toolbox並提供了一對緩存策略。

你可能會想fastest緩存策略:

請求從緩存和並行網絡兩種資源。先回應哪個回報。通常這將是緩存版本,如果有的話。一方面,即使資源被緩存,該策略也會始終發出網絡請求。另一方面,如果/當網絡請求完成時,更新緩存,以便將來的緩存讀取更新。

<platinum-sw-register auto-register> 
    <platinum-sw-cache defaultCacheStrategy="fastest"></platinum-sw-cache> 
</platinum-sw-register> 
+0

'cacheFirst'將很快成爲響應從緩存中,而以前緩存條目永遠不會得到更新。對於這個用例,我建議'最快''策略,它將立即提供來自緩存的響應,然後更新緩存條目「在後臺」,以便在下次使用時更新。 https://github.com/GoogleChrome/sw-toolbox#toolboxfastest –

+0

你當然是對的,謝謝。 我會更新答案。 –