我的应用程序由EJS模板引擎呈现的express.js和index.html服务
因此,当我第一次访问我的网站时,index.html会正确呈现。
但是,如果刷新页面,则从service worker加载index.html,因为
服务工作者的缓存是原始index.html文件
我想更新一些缓存数据(不是全部)或如何缓存呈现的html文件。
例如:
如果我想更新index.html缓存数据,该怎么办?
我真的需要别人的帮助。
列出一些角度sw配置:
ngsw-config.json
{
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "lazy"(prefetch both have tried),
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"/*.css",
"/*.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}
]
}
我的Dist项目结构
/ dist
-index.html
-*。js
答案 0 :(得分:0)
好的,我找到了解决此问题的临时解决方案:
将数据组配置添加到nsgw-config.json
"dataGroups": [
{
"name": "api-performance",
"urls": [
"/api/**"(you can ignore this line),
"/"
],
"cacheConfig": {
"strategy": "freshness",
"maxSize": 100,
"maxAge": "3d",
"timeout":"2m"
}
}
]
我知道我们通常将其配置为缓存json api数据,但我认为它也可以缓存html /纯文本。
虽然有效,但是有人有更好的主意吗?