问题描述
我有一个 CRA ,并且我使用服务人员。我在public
文件夹中创建了一个自定义服务工作器,并附加了cra-append-sw
。在那里,我添加了一个“激活”事件,可以像这样清除所有缓存:
self.addEventListener("activate",(event) => {
event.waitUntil(
caches.keys().then((names) => {
for (let cacheName of names) {
caches.delete(cacheName);
}
})
);
});
问题是,在存储中有一个 WorkBox
创建的默认密钥。是否可以更改该默认名称并添加我自己的版本名称?
令我感到奇怪的另一件事是,如果我留下这样的代码片段,则当我使用skipwaiting()
安装新工作程序时,我仍会在存储中使用相同的默认密钥,但是一旦新工作程序接管了,它就不会似乎要缓存文件。我刷新了页面,该缓存键名称中没有任何内容。仅当我注释掉“激活”事件并且我skpiWait()
新更新的工作程序后,它才会再次开始缓存。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)