【问题标题】:how to import workbox defaultRouter如何导入工作箱默认路由器
【发布时间】:2018-05-11 16:27:53
【问题描述】:

有例子Workbox Routing/Advanced Usage

但是当我尝试它时,我得到:

未捕获的 ReferenceError:未定义 DefaultRouter

我的服务员:

<!-- language: lang-js -->
importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js");

workbox.skipWaiting();
workbox.clientsClaim();
workbox.setConfig({
  debug: true
});

const router = new DefaultRouter();
router.registerRoute(new RegExpRoute( /\/index\.html/, workbox.strategies.networkFirst()));
router.registerRoute(new RegExpRoute( /main\.min\.js/, workbox.strategies.staleWhileRevalidate()));
self.addEventListener('fetch', (event) => {
  const responsePromise = router.handleRequest(event);
  if (responsePromise) {
    // Router found a route to handle the request
    event.respondWith(responsePromise);
  } else {
    // No route found to handle the request
    console.debug('workbox has no route to handle request ', event.request);
  }
});

【问题讨论】:

    标签: service-worker progressive-web-apps workbox


    【解决方案1】:

    我也偶然发现了同样的问题。

    看起来DefaultRouter 已被Router 替换为https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.routing.Router 并且要初始化你必须做new workbox.routing.Router()

    【讨论】:

      【解决方案2】:

      现在我发现旁路看起来很有趣: 而是:

      const router = new DefaultRouter();
      

      我用:

      router = new workbox.routing.constructor();
      

      【讨论】:

        猜你喜欢
        • 2020-08-31
        • 1970-01-01
        • 2016-03-27
        • 1970-01-01
        • 2013-06-28
        • 2016-10-02
        • 1970-01-01
        • 2017-05-30
        • 2020-12-25
        相关资源
        最近更新 更多