Service Worker 不提供子页面

Service Worker is not serving sub-pages

我在我之前访问过的 blog, the home page correctly loads from the Service Worker cache, however visiting 'posts' 上设置了一个 service worker,而 Chrome 设置为在线,他们加载,并且在开发者工具中他们显示为 'from ServiceWorker' 符合预期。

然而,当我使用开发者工具将 Chrome 设置为离线时,页面返回 'failed'

的状态

我的问题是为什么会出现这个问题?

我的serviceworker script

ServiceWorker registration script

由于网站的 URL 结构

https://example.com/YYYY/MM/DD/post-title

我不得不添加一个辅助块来处理路径

self.toolbox.router.get('/**/*', function (request, values, options) {

这解决了我的问题,因为现有的块

self.toolbox.router.get('/*', function (request, values, options) 

不够

改为在路径中使用正则表达式:

self.toolbox.router.get('/(.*)', function (request, values, options)

无需注册 2 条路径即可实现。