【发布时间】:2020-02-10 20:34:06
【问题描述】:
当我使用 Service Worker 构建 Angular 应用程序时,它会使用每个文件的哈希值创建一个哈希表,以检测应用程序的新版本何时可用。此哈希表在 ngsw.json 中。
这里是一个哈希值的例子。
如果我想用 PurifyCSS 清理未使用的 css,那么 dist/styles.*.css 将更改文件内容并因此更改其哈希值,但 ngsw.json 具有旧哈希值。
在这种情况下,Angular Service Worker 会因为哈希不匹配而失败。
如何避免这种情况?运行 PurifyCSS 后是否应该在 ngsw.json 中手动更新哈希?是否有某种机制可以自动更新此值,或者是否可以在 angular-cli 为每个文件生成哈希之前执行 PurifyCSS?
这个问题一般针对对服务工作者缓存的dist文件进行的任何类型的修改,因为哈希会改变,因此会出现哈希不匹配。这意味着 service worker 不会工作。
提前谢谢你。
【问题讨论】:
标签: angular hash gulp angular-service-worker purifycss