我对PWA存有疑问,如果有人对此提供帮助,我将感到非常高兴。在我的PWA中,存储静态文件(如HTML,JS和CSS)没有任何问题。但是我面临着有关动态数据的问题。即:我的self.addEventListener('fetch', function(e) { })
未被调用,但是其他功能也正常运行,即:“安装”和“活动”事件。
更具体地说,我正在使用@angular/service-worker
,它工作正常,但是我创建了另一个名为sw.js
的sw文件。在我的sw-js
中,我正在收听诸如“安装”,“活动”和“获取”之类的事件。我的sw.js
提取未得到调用,而其他两种方法运行良好。但是,仅在获取ngsw-worker.js
的获取方法时,就会被调用。
我需要做的是在PWA中使用角度进行CRUD操作。
谢谢!
答案 0 :(得分:0)
您可以像下面那样进行动态缓存,服务工作者将拦截每个请求并将其添加到缓存中。
self.addEventListener("fetch", function (event) {
event.respondWith(
caches.open("dynamiccache").then(function (cache) {
return fetch(event.request).then(function (res) {
cache.put(event.request, res.clone());
return res;
})
})
)
}
注意:您无法缓存POST请求 Can service workers cache POST requests?