在先前版本的Angular服务工作者实现中,其中一个配置选项是"routing"。这可以在未回答的SO问题中看到,在Angular CLI问题中引用,并且最好的剩余文档似乎是由Angular团队的Stephen Fluin发布的博客文章,以及来自Google的Alex Rickabaugh的I/O讲座。
使用Angular 5,
当您在离线状态下尝试访问该URL时,立即会收到504 - 网关超时的错误。这是因为服务工作者仅缓存了索引,并不知道其他路由应该重定向到索引,以便它可以加载。我相信Angular服务工作者实现的先前迭代可以通过设置重定向到给定路由的索引来处理此场景。当前的Angular 5+ ngsw-config.json文件或生成的ngsw.json文件中是否有处理此重定向的方法?如果没有,应如何在单独的服务工作者JS文件中处理解决方案?
使用Angular 5,
ServiceWorkerModule
已经得到很好的建设,大部分配置现在都可以使用ngsw-config.json
文件处理。然而,在angular.io指南或文档中再也没有提到如何处理路由重定向。因此,我遇到了以下问题:当我访问我的应用程序并离线时,仍然可以直接访问该应用程序:https://jackkoppa.github.io/cityaq-sw-issue。但是,在加载应用程序后,应用程序重定向到search
路由,大多数用户将尝试从类似https://jackkoppa.github.io/cityaq-sw-issue/search?cities=Shanghai这样的URL加载(现在只谈论Chrome桌面和移动端,并在可能的情况下使用无痕模式)。当您在离线状态下尝试访问该URL时,立即会收到504 - 网关超时的错误。这是因为服务工作者仅缓存了索引,并不知道其他路由应该重定向到索引,以便它可以加载。我相信Angular服务工作者实现的先前迭代可以通过设置重定向到给定路由的索引来处理此场景。当前的Angular 5+ ngsw-config.json文件或生成的ngsw.json文件中是否有处理此重定向的方法?如果没有,应如何在单独的服务工作者JS文件中处理解决方案?
ngsw-worker.js
在获取过程中失败的位置。 - Jack Koppa