我已经通过检查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。
有人知道为什么该解决方案不起作用吗?
答案 0 :(得分:0)
因此,我刚在 Github 上发现我的问题与 CORS 有关,为了使X-Is-Cacheable
工作,我还需要添加{ {1}}。