在我的服务工作者文件中,我使用的是此代码:
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
因此我的服务人员没有注册。
答案 0 :(得分:2)
在Workbox v3中,您通常不会显式构造WorkboxSW
实例。相反,在全局范围中公开了一个workbox
变量,它提供了库的接口。
以下是一个例子,不包括migration guide:
以前在第2版:
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(...);