1

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.

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

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

4

1 回答 1

0

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

诚然,感觉在这种情况下 sw-precache 可能会有更智能的版本控制 - 可能会在 repo 上引发问题。

于 2016-05-26T22:06:14.427 回答