本文介绍了Angular 5和Service Worker:如何从ngsw-config.json中排除特定路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有 ngsw-config.json
(取自):
{
"index": "/index.html",
"assetGroups": [{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html"
],
"versionedFiles": [
"/*.bundle.css",
"/*.bundle.js",
"/*.chunk.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}]
}
在我的网站上有一个RSS feed / api / rss
的链接,该链接应该在新的浏览器选项卡中打开而不加载Angular应用程序。如何从请求重定向到 index.html
的资源列表中排除它?
On my site there is a link to the RSS feed /api/rss
, which should open in a new browser tab without loading Angular app. How can I exclude it from a list of resources whose request is redirected to index.html
?
UPD :我尝试但不使用以下配置(请参见!/ api / rss
):
UPD: I tried but not working the following config (see !/api/rss
):
{
"index": "/index.html",
"assetGroups": [{
"name": "app",
"installMode": "prefetch",
"patterns": ["!/api/rss"],
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"!/api/rss"
],
"versionedFiles": [
"/*.bundle.css",
"/*.bundle.js",
"/*.chunk.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}]
}
推荐答案
感谢佩德罗·阿兰特斯 ,我进入了下一个工作配置(请参见 dataGroups
和 maxAge: 0u
):
Thanks to the Pedro Arantes advice, I reached the next working config (see dataGroups
and "maxAge": "0u"
):
{
"index": "/index.html",
"dataGroups":
[
{
"name": "api",
"urls": ["/api"],
"cacheConfig": {
"maxSize": 0,
"maxAge": "0u",
"strategy": "freshness"
}
}
],
"assetGroups":
[
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html"
],
"versionedFiles": [
"/*.bundle.css",
"/*.bundle.js",
"/*.chunk.js"
]
}
},
{
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}
]
}
这篇关于Angular 5和Service Worker:如何从ngsw-config.json中排除特定路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!