我生成了一个干净的Angular6项目,并使用ng add @angular/pwa
得到了这个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/**"
]
}
}
]
}
有整个资产文件夹标记为“ Service Worker Caching”,但可悲的现实表明这不是真实的:
我使用的3个图形文件(header-bg.jpg
,list-border-red.svg
和list-border-green.svg
)被标记为“来自ServiceWorker”,但是当我在智能手机上创建应用程序并断开Internet连接时并打开该应用程序,仅header-bg.jpg
可用。但是list-border-red.svg
和list-border-green.svg
不能离线使用。
还显示了从“ Disc Cache”加载的图形图标和从ftp加载的图形图标...这些文件也位于Assets文件夹中,为什么不通过mServiceWorker对其进行缓存? ServiceWorker的东西可能在Chrome中被窃听了吗?
该应用程序已经在线,可以在以下位置找到:https://expense-calculator.com/如果需要此应用程序来重现我的问题,只需打开并进行自己的测试即可。
答案 0 :(得分:0)
您的服务工作者代码看起来不错,并且已完美注册,可以按预期工作的方式离线提供文件。我已经在飞行模式下启用了Chrome浏览器。所有文件,包括从缓存加载的.svg文件。
请重试。