【发布时间】:2018-12-24 20:16:55
【问题描述】:
我最近在我们的网站上使用工作箱实现了一个服务工作者。由于我们项目的结构,我们正在为每个页面实现一个服务工作者,例如:
- /foo/XXX/
- /foo/XYZ/
- /foo/XXY/
这导致我们为每个页面创建了一个服务工作者。 另一方面,我们在构建过程中使用预缓存来预缓存 css 和 js 资产。
我知道 workbox 创建了两个缓存,一个用于预缓存,另一个用于运行时。因为我们有几个 service worker,所以我们的客户在访问新页面时会有一个新的缓存条目
- workbox-precache-https://www.example.com/foo/XXX-https://www.example.com
- workbox-precache-https://www.example.com/foo/XYZ-https://www.example.com
- workbox-precache-https://www.example.com/foo/XXY-https://www.example.com
我知道 workbox 提供了一个设置缓存名称的选项。
workbox.core.setCacheNameDetails({
prefix: 'my-app',
suffix: 'v1',
precache: 'custom-precache-name',
runtime: 'custom-runtime-name'
});
我的问题是,我可以使用此选项将缓存名称设置为唯一吗?我的方法是所有资产都在同一个缓存中,因此工作箱将负责删除重复的缓存并管理缓存。有意义吗?
非常感谢
【问题讨论】: