缓存在第二次刷新后存储



在我的服务工作者注册后,在第二次重新加载时,我可以缓存我想在没有第二次刷新的情况下做的响应,

我正在使用工作箱版本 3 ,即使在使用 workbox.core.skipWaiting 和 workbox.core.clientsClaim 之后,我也无法缓存我的数据,我是渐进式 Web 应用程序和服务工作者的新手,我们将不胜感激任何帮助,以下是我对服务工作者的代码片段 -

即使在使用 workbox.core.skipWaiting 和 workbox.core.clientsClaim 之后,我也无法在第一次加载时缓存我的数据-

我的服务工作者 -

importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.0.0/workbox-sw.js');
workbox.routing.registerRoute(
    new RegExp('My URL from where I want to cache the response'),
    new workbox.core.skipWaiting(),
    new workbox.core.clientsClaims(),
    new workbox.strategies.CacheFirst()
);

我的 worlnox 配置文件 -

module.exports = {
  "globDirectory": "build/",
  "globPatterns": [
    "**/*.{json,ico,html,js,css}"
  ],
  "swDest": "./build/sw.js",
  "swSrc" : "./src/sworker.js"
};

在加载页面时,我想缓存我的 API 响应而不重新加载。

这就是服务工作者的行为方式。服务工作进程正在安装,但在下载和呈现其他资产时未读取,因此它无法处理和缓存资源。如果您希望缓存资产而不进行后续导航,则需要告诉 Workbox 预缓存资产。这将告诉服务工作进程在安装资产后下载并缓存资产,而无需客户端询问任何其他请求。

最新更新