0

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

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

上面我用于页面缓存的代码

4

1 回答 1

4

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

如果您想绝对缓存您的 web 应用程序发出的每个同源请求,您可以调整您的路由逻辑以使用RegExp通配符,例如:

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

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

于 2017-12-06T19:28:39.573 回答