我正在阅读有关与服务人员进行预缓存的内容,最终得到了这种预缓存。
我不明白为什么它使用带有哈希的固定网址。每次文件更改时都必须动态创建它们。
那么手动放置它们并将修订设置为空有什么意义呢?
如果您正在谈论 Workbox 将文件哈希值标记到 URL 的方式,那么我可以回答这个问题。
哈希是对文件内容的计算。在您更改文件中的任何内容之前,它保持不变。然后该文件具有不同的哈希值。所以 Workbox 每次运行脚本生成 service worker 时都会生成一个清单。
然后,当安装服务工作者时,它只会获取已更新的网络资产的更新。它还可以进行哈希检查以验证文件是否符合预期。
我在没有清单文件和需要维护的构建步骤的情况下完成此任务的另一种方法是向网络资产发出 HEAD 请求。服务器应返回最后更新的标头值,您可以检查文件创建时缓存中的值。
我还没有完全完善这种技术,但是当我得到它稳定时,我可能会创建一篇关于该方法的文章。
但最终目标是尽可能减少往返次数,减少服务器和客户端的数据负担。