我正在使用Angular 6和ngsw-config.json进行服务工作者配置,但我不知道它如何与子域一起工作。
从我的理解
应该如何缓存所有子域的assetsGroups和dataGroups?
这是我当前的ngsw-config.json
{
"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/**"
]
}
},{
"name": "fonts",
"resources": {
"urls": [
"https://fonts.googleapis.com/**",
"https://fonts.gstatic.com/**"
]
}
}],
"dataGroups": [
{
"name": "database",
"urls": [
"https://**.api.example.com/pl/**",
"https://**.api.example.com/en/**"
],
"cacheConfig": {
"maxSize": 100000000,
"maxAge": "3d",
"timeout": "2m"
}
}
]
}
答案 0 :(得分:0)
服务工作者将每个域和子域视为一个独特的应用程序和不同的来源。因此,您要使用的每个子域都需要单独的服务工作者。 Here is a nice article讨论了您拥有的各种选项。
如果您认为可以将子域映射到单个域以及别名(例如abc.example.com到example.com/abc/),则可以使用一个服务工作者来管理您的应用。
但是,当这不是一个选项时,拥有多个服务工作者并在适当的时候预先缓存将是理想的替代方案。