1

Service Worker ファイルでは、次のコードを使用しています。

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ため、Service Worker が登録されていません。

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 に答える