Как кэшировать файлы .json с динамическим управлением версиями, полученными с сервера с помощью Angular Service Worker
Я пытаюсь кешировать файлы.json из
https://xxxxx.com/config.json?v={xxxxxxxx}
используя Angular Service Worker. Мой
ngsw-config.json
выглядит так:
{
"$schema": "./node_modules/@angular/service-worker/config/schema.json",
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"/manifest.webmanifest",
"/*.css",
"/*.js",
"/*.json"
],
"urls": [
"https://xxxxx.com/static/atomic/buildcss/fonts-com.css",
"https://xxxxx.com/static/atomic/images/logos/**",
"https://xxxxx.com/static/atomic/fonts/adj-icons/**",
"https://xxxxx.com/static/atomic/fonts/adj-fonts/**",
"https://xxxxx.com/static/atomic/icons/**"
]
}
},
{
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**",
"/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani|json)"
],
"urls": [
"https://xxxxx.com/static/**"
]
}
}
],
"dataGroups": [
{
"name": "static",
"urls": [
"https://xxxxx.com/static/**"
],
"cacheConfig": {
"maxSize": 7,
"maxAge": "1d",
"strategy": "freshness"
}
}
]
}
Я пытаюсь получить его через
dataGroups
или же
assetGroups
но ни один из них не работает.
какие-либо предложения?
Должен ли я использовать эти URL-адреса в Assets, потому что.json - это файл, полученный с сервера, или я должен использовать его в dataGroups, потому что я делаю запрос из приложения?