У меня есть приложение Angular 8 с настроенным сервисным работником.Мое приложение использует изображения внешнего аватара с сайта gravatar и сервера Amazon-S3.Изображения должны быть кэшированы работником сервиса.Но либо изображения никогда не кэшируются, либо изображения всегда кэшируются.
Когда я настраиваю внешние ресурсы в разделе assetGroups файла ngsw-config, внешние изображения всегда кэшируются, поэтому новое перезаписанное изображение будетникогда не загружаться.
при настройке внешних ресурсов в разделе den dataGroups файла ngsw-config внешние образы никогда не кэшируются.(dataGroups не предоставляют ресурсы?)
Полученные изображения имеют свойство "max-age", установленное в http-response-header, в 300 секунд.
"cache-control: max-age= 300 "
Вот мое содержимое файла ngsw-config:
{
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"/*.css",
"/*.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**",
"/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
],
"urls": [
"https://fonts.googleapis.com/**",
"https://my-avatars.s3.amazonaws.com/**",
"https://www.gravatar.com/avatar/**"
]
}
}
],
"dataGroups": [{
"name": "api",
"urls": [
"/api/**",
"http://localhost:8080/**"
],
"cacheConfig": {
"maxSize": 100,
"maxAge": "3m",
"strategy": "freshness",
"timeout": "5s"
}
}]
}
Я ожидаю, что sw будет проверять все файлы, пока не появится новая версия файла или не истечет максимальное время ожидания.достиг.
Что я делаю не так?