Angular6 ServiceWorker不会缓存所有文件

时间:2018-06-25 13:33:45

标签: progressive-web-apps angular6 angular-service-worker pwa

我生成了一个干净的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”,但可悲的现实表明这不是真实的:

enter image description here

我使用的3个图形文件(header-bg.jpglist-border-red.svglist-border-green.svg)被标记为“来自ServiceWorker”,但是当我在智能手机上创建应用程序并断开Internet连接时并打开该应用程序,仅header-bg.jpg可用。但是list-border-red.svglist-border-green.svg不能离线使用。

还显示了从“ Disc Cache”加载的图形图标和从ftp加载的图形图标...这些文件也位于Assets文件夹中,为什么不通过mServiceWorker对其进行缓存? ServiceWorker的东西可能在Chrome中被窃听了吗?

该应用程序已经在线,可以在以下位置找到:https://expense-calculator.com/如果需要此应用程序来重现我的问题,只需打开并进行自己的测试即可。

1 个答案:

答案 0 :(得分:0)

您的服务工作者代码看起来不错,并且已完美注册,可以按预期工作的方式离线提供文件。我已经在飞行模式下启用了Chrome浏览器。所有文件,包括从缓存加载的.svg文件。

请重试。