1

在我的服务工作者文件中,我正在使用以下代码:

importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.0.0-beta.2/workbox-sw.js");
const workbox = new WorkboxSW();

但我收到错误,Uncaught ReferenceError: WorkboxSW is not defined因此我的服务人员没有注册。

4

1 回答 1

4

在 Workbox v3 中,您通常不会显式构造WorkboxSW实例。相反,workbox在全局范围内公开了一个变量,为库提供接口。

这是一个示例,迁移指南除外:

以前在 v2 中:

importScripts('<path to workbox-sw>/importScripts/workbox-sw.prod.v2.1.3.js');

const workbox = new WorkboxSW({
  skipWaiting: true,
  clientsClaim: true,
  // etc.
});

workbox.router.registerRoute(...);

在 v3 中,您只需导入 workbox-sw.js 脚本,即可在全局命名空间中自动使用现成的实例作为工作箱:

importScripts('<path to workbox-sw>/3.0.0/workbox-sw.js');

// workbox is implicitly created and ready for use.
workbox.routing.registerRoute(...);
于 2018-03-13T16:12:23.017 回答