Я пытаюсь, чтобы мой работник сервиса рабочего ящика кэшировал изображения, хранящиеся в хранилище Firebase, без особого успеха ... Странно то, что некоторые изображения на самом деле правильно кэшируются, а другие нет.
Вот моя рабочая конфигурация:
workbox.routing.registerRoute(
new RegExp('https://{MYPROJET}.googleapis.com/v0/b/{MYPROJET}.appspot.com/(.*)'),
new workbox.strategies.CacheFirst({
cacheName: 'storage',
plugins: [
new workbox.expiration.Plugin({
maxEntries: 1000,
maxAgeSeconds: 30 * 60, // 30 mins
}),
],
})
);
В инструментах Chrome dev я вижу, что некоторые изображения правильно кэшируются, но некоторые другие имеют часть своего пути в виде файлов json, ниже приведен скриншот с 3 первые записи, показывающие, что изображение неправильно кэшировано как json файлы, а последняя правильно кэширована.
Когда я копаюсь в каждой кэшированной записи, я могу обратите внимание, что неправильно кэшированные были кэшированы без строки запроса, что может быть проблемой.
Я попытался установить заголовок cacheControl при загрузке изображений в хранилище без особого успеха:
spaceref.put(pic, { cacheControl: 'public, max-age=3600'})