工作箱无法识别根网址正则表达式/ ^ \ / $ /已添加到导航后备黑名单

时间:2019-03-16 00:34:17

标签: progressive-web-apps workbox workbox-webpack-plugin

我有一个通过Workbox Webpack插件生成的带有服务人员的SPA。根网址“ /”是我网站的单独主页,而不是SPA的一部分,因此,我希望我的服务工作者不要回退到SPA的应用程序外壳,而是在导航至“ /”。我知道工作箱具有navigationFallbackBlacklist选项,用于指定不属于SPA的网址格式。此选项适用于我的网站具有的其他几个URL路径,但不适用于根URL。我想知道我的用例是否可以解决。

1 个答案:

答案 0 :(得分:0)

为mi工作: 使用workbox-build和generateSw:

    ...
       runtimeCaching: [
        {
            urlPattern: /^https:\/\/(www\.)?test.local(\/)?$/,
            handler: 'NetworkFirst', 
            options: {
                cacheName: 'home-page',
                expiration: {
                    maxAgeSeconds: 30 * 24 * 60 * 60, // 30 DAYS
                    maxEntries: 1
                }
            }
        },

或手动编写:

workbox.routing.registerRoute(
    /^https:\/\/(www\.)?test.local(\/)?$/,
    workbox.strategies.networkFirst({
        cacheName: 'home-page',
        ...
    })
)
(NetworkFirst handler mode is important, in many cases)