使用Workbox缓存整页

时间:2017-12-06 10:08:20

标签: javascript caching service-worker workbox

我正在尝试使用Workbox缓存整个页面,但它根据我的要求不工作我想要缓存而不是html只想缓存整个页面用Image,Js,Css目前它只缓存html

workbox.routing.registerRoute('/about.html', new workbox.strategies.NetworkFirst());

以上代码我用于页面缓存

1 个答案:

答案 0 :(得分:2)

页面上使用的每个子资源(图像,JavaScript,CSS等)都会产生新的HTTP请求。您注册的路由将与每个HTTP请求的URL进行匹配。目前,您注册的路线将与特定的网址路径名'/about.html'匹配。

如果您想要缓存您的webapp所做的每个同源请求,您可以调整路由逻辑以使用RegExp通配符,例如:

workbox.routing.registerRoute(
  new RegExp('/.*'),
  new workbox.strategies.NetworkFirst()
);

如果您想缩小缓存内容的范围,可以进一步修改RegExp,或者针对不同类型的网址使用不同的策略。