Workbox-检查响应标头时workbox.cacheableResponse不起作用

时间:2019-06-04 08:50:15

标签: service-worker workbox

我已经通过检查API的响应标头实现了Workbox的cacheableResponse。

但是,似乎没有缓存响应中带有x-is-cacheable头的API请求。

这就是我实施服务工作者的方式

const cacheableResponse = new workbox.cacheableResponse.Plugin({
    statuses: [0, 200],
    headers: {
        'x-is-cacheable': true,
    },
});

// APIs
workbox.routing.registerRoute(
  new RegExp('https://my-api-url.here'),
  workbox.strategies.networkFirst({
    cacheName: 'api-cache',
    plugins: [
      cacheableResponse
    ]
  })
);

我可以确认,该API响应标头中包含x-is-cacheable: true,并且返回状态码200。

如果我删除了headers,那么它就可以了,但是我需要过滤掉需要缓存的特定API。

有人知道为什么该解决方案不起作用吗?

1 个答案:

答案 0 :(得分:0)

因此,我刚在 Github 上发现我的问题与 CORS 有关,为了使X-Is-Cacheable工作,我还需要添加{ {1}}。

参考:https://github.com/GoogleChrome/workbox/issues/2051