缓存在已经版本化的捆绑文件上通过sw-precache进行破坏

时间:2016-05-26 17:58:21

标签: service-worker progressive-web-apps sw-precache

我正在使用sw-precache来预先缓存Angular应用的所有静态资源。我理解sw-precache concept of versioning by calculating the MD5 hash which is used to determine whether the file has changed or not.

但我想知道我们将如何处理通过连接多个文件并缩小它们和版本控制文件生成的捆绑文件(例如bundle.877095ebde8.js)上的sw-precache版本控制/缓存清除。

因为在这种情况下,每次进行任何更改并创建新的版本控制文件时,整个文件都将更改,而不是文件内容,因为navigator.serviceWorker.controller始终返回null。

1 个答案:

答案 0 :(得分:0)

Service worker.controller不会总是为null。当您更改这些文件时,Sw-precache将为您构建一个新的服务工作者,并且浏览器将更新为使用新的服务工作者。

当然,在这种情况下,感觉可能会出现更智能的sw-preache版本 - 可能会在回购中引发问题。