この時点では、Service Worker は複雑に思えるかもしれません。正しく判断するのは困難ですが、数多くの複雑なインタラクションがあります。ネットワーク リクエストキャッシュ戦略キャッシュ管理プレキャッシュ いろいろと覚えておきましょう。 これにより、Service Worker が不適切なテクノロジーになることはありません。想定どおりに動作し、困難な問題を解決します。
優れた抽象化により、複雑な API が使いやすくなります。 そこで役立つのが Workbox です。 ワークボックスは、一般的な Service Worker のルーティングとキャッシュ保存を簡素化するモジュールのセットです。利用可能な各モジュールは、Service Worker 開発の特定の側面に対応しています。Workbox は、Service Worker を可能な限り簡単に使用できるようにすると同時に、必要に応じて複雑なアプリケーション要件に対応できる柔軟性を実現することを目的としています。
最も単純なケースとして、workbox-build
には、指定されたアセットを事前キャッシュする Service Worker を生成できるいくつかのメソッドが用意されています。generateSW
メソッドでは、ほとんどの処理をすぐに行うことができますが、injectManifest
メソッドでは、必要に応じて細かく制御できます。
より高度なユースケースには、他のモジュールが役立ちます。次のようなモジュールがあります。
workbox-routing
(リクエストの一致用)。workbox-strategies
(キャッシュ戦略の場合)。workbox-precaching
(事前キャッシュ)。workbox-expiration
: キャッシュの管理workbox-window
: Service Worker の登録とwindow context
での更新の処理を行います。
これらのモジュールとその他のモジュールにより、Service Worker API を直接使用するよりも読みやすく、管理しやすい、宣言型の方法で Service Worker コードを作成できます。このドキュメントでは、これらを応用して使用する方法について説明します。