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

你当然是对的,谢谢。 我会更新答案。 –