我使用 Workbox 预缓存渲染应用程序外壳所需的资产,包括基本版本的index.html
. Workbox 假定它index.html
在缓存中可用,否则,页面导航将失败,因为我已在我的 Service Worker 中注册了它:
workbox.routing.registerNavigationRoute('/index.html');
self.skipWaiting()
我在安装侦听器中也有说明:
self.addEventListener('install', e => {
self.skipWaiting();
});
据我了解,现在有 2 个install
听众:
- Workbox 为预缓存资产注册的一个(包括 index.html)
- 我在我的 Service Worker 中手动注册的一个
self.skipWaiting()
Workbox 的安装侦听器失败时是否有可能成功?这将导致一个有问题的状态,即资产没有被预缓存但服务工作者被激活。这种情况是否可能,我应该防范吗?