workbox-build モジュールはノードベースのビルドプロセスに統合され、サービス ワーカー全体を生成することも、既存のサービス ワーカー内で使用できるプリキャッシュ アセットのリストを生成することもできます。
ほとんどのデベロッパーが使用する 2 つのモードは、generateSW と injectManifest です。次の質問に答えることで、使用する適切なモードと構成を選択できます。
使用するモード
generateSW
generateSW モードでは、構成オプションでカスタマイズされたサービス ワーカー ファイルが作成され、ディスクに書き出されます。
generateSW を使用するタイミング
- ファイルをプリキャッシュする必要がある。
- シンプルなランタイム キャッシュが必要である。
generateSW を使用すべきでない場合
- 他の Service Worker 機能(ウェブプッシュなど)を使用する必要がある。
- 追加のスクリプトをインポートする、またはカスタム キャッシュ戦略のロジックを追加する。
injectManifest
injectManifest モードでは、事前キャッシュする URL のリストが生成され、その事前キャッシュ マニフェストが既存の Service Worker ファイルに追加されます。ファイルが変更されていない場合は、ファイルはそのままになります。
injectManifest を使用するタイミング
- サービス ワーカーをより細かく制御したい場合。
- ファイルをプリキャッシュする必要がある。
- ルーティングと戦略をカスタマイズする必要があります。
- サービス ワーカーを他のプラットフォーム機能(ウェブプッシュなど)で使用したい場合。
injectManifest を使用すべきでない場合
- サイトに Service Worker を追加する最も簡単な方法を探しています。
generateSW モード
次のように、最も一般的な構成オプションを使用して、ノードベースのビルド スクリプト内で generateSW モードを使用できます。
// Inside of build.js:
const {generateSW} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
generateSW({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  navigateFallback: '...',
  runtimeCaching: [{
    // Routing via a matchCallback function:
    urlPattern: ({request, url}) => ...,
    handler: '...',
    options: {
      cacheName: '...',
      expiration: {
        maxEntries: ...,
      },
    },
  }, {
    // Routing via a RegExp:
    urlPattern: new RegExp('...'),
    handler: '...',
    options: {
      cacheName: '...',
      plugins: [..., ...],
    },
  }],
  skipWaiting: ...,
  swDest: '...',
}).then(({count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while generating a service worker:',
      warnings.join('\n')
    );
  }
  console.log(`Generated a service worker, which will precache ${count} files, totaling ${size} bytes.`);
});
これにより、構成で取得されたすべてのファイルと、指定されたランタイム キャッシュルールに対してプリキャッシュが設定された Service Worker が生成されます。
構成オプションの一覧については、リファレンス ドキュメントをご覧ください。
injectManifest モード
次のように、最も一般的な構成オプションを使用して、ノードベースのビルド スクリプト内で injectManifest モードを使用できます。
// Inside of build.js:
const {injectManifest} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
injectManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  swDest: '...',
  swSrc: '...',
}).then(({count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while injecting the manifest:',
      warnings.join('\n')
    );
  }
  console.log(`Injected a manifest which will precache ${count} files, totaling ${size} bytes.`);
});
これにより、構成で取得されたファイルに基づいてプリキャッシュ マニフェストが作成され、既存のサービス ワーカー ファイルに挿入されます。
構成オプションの一覧については、リファレンス ドキュメントをご覧ください。
その他のモード
ほとんどのデベロッパーのニーズには generateSW または injectManifest が適していると思われます。ただし、workbox-build でサポートされているもう 1 つのモードは、特定のユースケースに適している場合があります。
getManifest モード
これは概念的には injectManifest モードに似ていますが、マニフェストをソース サービス ワーカー ファイルに追加するのではなく、マニフェスト エントリの配列と、エントリ数と合計サイズに関する情報を返します。
次のように、最も一般的な構成オプションを使用して、ノードベースのビルド スクリプト内で injectManifest モードを使用できます。
// Inside of build.js:
const {getManifest} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
getManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
}).then(({manifestEntries, count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while getting the manifest:',
      warnings.join('\n')
    );
  }
  // Do something with the manifestEntries, and potentially log count and size.
});
構成オプションの一覧については、リファレンス ドキュメントをご覧ください。
型
BasePartial
プロパティ
- 
    additionalManifestEntries(string | ManifestEntry)[] 省略可 プリキャッシュに登録するエントリのリストと、ビルド構成の一部として生成されるエントリ。 
- 
    dontCacheBustURLsMatchingRegExp(省略可) これに一致するアセットは、URL で一意のバージョンが設定されていると見なされ、プリキャッシュの入力時に実行される通常の HTTP キャッシュ破壊から除外されます。必須ではありませんが、既存のビルドプロセスで各ファイル名に [hash]値がすでに挿入されている場合は、プリキャッシュ時に消費される帯域幅を削減するため、それを検出する RegExp を指定することをおすすめします。
- 
    manifestTransformsManifestTransform[] 省略可 生成されたマニフェストに対して順番に適用される 1 つ以上の関数。 modifyURLPrefixまたはdontCacheBustURLsMatchingも指定されている場合、対応する変換が最初に適用されます。
- 
    maximumFileSizeToCacheInBytesnumber(省略可) デフォルト値は 2097152 です。 この値は、プリキャッシュに保存するファイルの最大サイズを決定するために使用できます。これにより、いずれかのパターンに誤って一致する可能性のある非常に大きなファイルを誤ってプリキャッシュに保存するのを防ぐことができます。 
- 
    modifyURLPrefixオブジェクト(省略可) 文字列の接頭辞を置換文字列値にマッピングするオブジェクト。これは、ウェブ ホスティング設定がローカル ファイルシステムの設定と一致しない場合などに、マニフェスト エントリからパス接頭辞を削除または追加するために使用できます。より柔軟な方法として、 manifestTransformsオプションを使用して、指定したロジックを使用してマニフェストのエントリを変更する関数を指定することもできます。使用例: // Replace a '/dist/' prefix with '/', and also prepend // '/static' to every URL. modifyURLPrefix: { '/dist/': '/', '': '/static', }
BuildResult
タイプ
<GetManifestResult"manifestEntries" 
 > とオブジェクトを省略
プロパティ
- 
    filePathsstring[] 
GeneratePartial
プロパティ
- 
    babelPresetEnvTargetsstring[] 省略可 デフォルト値は: ["chrome >= 56"] サービス ワーカー バンドルをトランスパイルするときに babel-preset-envに渡すターゲット。
- 
    cacheId文字列 省略可 キャッシュ名の先頭に追加する ID(省略可)。これは、同じ http://localhost:portオリジンから複数のサイトが提供されるローカル開発で特に役立ちます。
- 
    cleanupOutdatedCachesブール値(省略可) デフォルト値は false です。 互換性のない古いバージョンによって作成されたプリキャッシュを Workbox が識別して削除するかどうか。 
- 
    clientsClaimブール値(省略可) デフォルト値は false です。 Service Worker がアクティベートされた直後に、既存のクライアントの制御を開始するかどうか。 
- 
    directoryIndex文字列 省略可 /で終わる URL のナビゲーション リクエストがプリキャッシュ URL と一致しない場合、この値が URL に追加され、プリキャッシュとの一致が確認されます。これは、ウェブサーバーがディレクトリ インデックスに使用しているものに設定する必要があります。
- 
    disableDevLogsブール値(省略可) デフォルト値は false です。 
- 
    ignoreURLParametersMatchingRegExp[] 省略可 この配列内のいずれかの正規表現と一致する検索パラメータ名は、プリキャッシュの一致を探す前に削除されます。これは、トラフィックの参照元をトラッキングするために使用される URL パラメータなどを含む URL をユーザーがリクエストする可能性がある場合に便利です。指定しない場合、デフォルト値は [/^utm_/, /^fbclid$/]です。
- 
    importScriptsstring[] 省略可 生成された Service Worker ファイル内の importScripts()に渡す必要がある JavaScript ファイルのリスト。これは、Workbox に最上位の Service Worker ファイルを作成させ、プッシュ イベント リスナーなどの追加コードを含める場合に便利です。
- 
    inlineWorkboxRuntimeブール値(省略可) デフォルト値は false です。 Workbox ライブラリのランタイム コードをトップレベルのサービス ワーカーに含めるか、サービス ワーカーと一緒にデプロイする必要がある別のファイルに分割するか。ランタイムを分離すると、トップレベルの Service Worker が変更されるたびに、ユーザーが Workbox コードを再ダウンロードする必要がなくなります。 
- 
    モード文字列 省略可 デフォルト値は「production」です。 「production」に設定すると、デバッグ情報を除外した最適化されたサービス ワーカー バンドルが生成されます。ここで明示的に設定されていない場合、 process.env.NODE_ENV値が使用され、それが失敗すると'production'にフォールバックします。
- 
    文字列 省略可 デフォルト値: null 指定すると、プリキャッシュされていない URL に対するすべてのナビゲーション リクエストは、指定された URL の HTML で処理されます。プリキャッシュ マニフェストに記載されている HTML ドキュメントの URL を渡す必要があります。これは、すべてのナビゲーションで共通の App Shell HTML を使用するシングルページ アプリのシナリオで使用することを想定しています。 
- 
    RegExp[] 省略可 設定された navigateFallback動作を適用する URL を制限する正規表現の配列(省略可)。これは、サイトの URL のサブセットのみをシングルページ アプリの一部として扱う場合に便利です。navigateFallbackDenylistとnavigateFallbackAllowlistの両方が構成されている場合、拒否リストが優先されます。注: これらの正規表現は、ナビゲーション中にすべてのリンク先 URL に対して評価される場合があります。複雑な正規表現は使用しないでください。使用すると、サイトのナビゲーション時に遅延が発生する可能性があります。 
- 
    RegExp[] 省略可 設定された navigateFallback動作を適用する URL を制限する正規表現の配列(省略可)。これは、サイトの URL のサブセットのみをシングルページ アプリの一部として扱う場合に便利です。navigateFallbackDenylistとnavigateFallbackAllowlistの両方が構成されている場合、拒否リストが優先されます。注: これらの正規表現は、ナビゲーション中にすべてのリンク先 URL に対して評価される場合があります。複雑な正規表現は使用しないでください。使用すると、サイトのナビゲーション時に遅延が発生する可能性があります。 
- 
    ブール値(省略可) デフォルト値は false です。 生成された Service Worker でナビゲーションのプリロードを有効にするかどうか。true に設定する場合は、 runtimeCachingを使用して、ナビゲーション リクエストに一致する適切なレスポンス戦略を設定し、プリロードされたレスポンスを使用する必要があります。
- 
    offlineGoogleAnalyticsboolean | GoogleAnalyticsInitializeOptions 省略可 デフォルト値は false です。 オフライン Google アナリティクスのサポートを含めるかどうかを制御します。 trueの場合、workbox-google-analyticsのinitialize()への呼び出しが生成された Service Worker に追加されます。Objectに設定すると、そのオブジェクトがinitialize()呼び出しに渡され、動作をカスタマイズできます。
- 
    runtimeCachingRuntimeCaching[] 省略可 Workbox のビルドツールを使用してサービス ワーカーを生成する場合は、1 つ以上のランタイム キャッシュ構成を指定できます。これらは、定義したマッチとハンドラの構成を使用して workbox-routing.registerRoute呼び出しに変換されます。すべてのオプションについては、 workbox-build.RuntimeCachingのドキュメントをご覧ください。次の例は、2 つのランタイム ルートが定義された一般的な構成を示しています。
- 
    skipWaitingブール値(省略可) デフォルト値は false です。 生成された Service Worker に skipWaiting()への無条件呼び出しを追加するかどうか。falseの場合、代わりにmessageリスナーが追加され、クライアント ページは待機中のサービス ワーカーでpostMessage({type: 'SKIP_WAITING'})を呼び出してskipWaiting()をトリガーできるようになります。
- 
    sourcemapブール値(省略可) デフォルト値は true です。 生成された Service Worker ファイルのソースマップを作成するかどうか。 
GenerateSWOptions
GetManifestOptions
GetManifestResult
プロパティ
- 
    count数値 
- 
    manifestEntries
- 
    サイズ数値 
- 
    警告string[] 
GlobPartial
プロパティ
- 
    globFollowブール値(省略可) デフォルト値は true です。 プリキャッシュ マニフェストの生成時にシンボリック リンクに従うかどうかを決定します。詳細については、 globのドキュメントでfollowの定義をご覧ください。
- 
    globIgnoresstring[] 省略可 デフォルト値は: ["**\/node_modules\/**\/*"] プリキャッシュ マニフェストの生成時に常に除外するファイルに一致する一連のパターン。詳細については、 globのドキュメントでignoreの定義をご覧ください。
- 
    globPatternsstring[] 省略可 デフォルト値は: ["**\/*.{js,wasm,css,html}"] これらのパターンのいずれかに一致するファイルは、プリキャッシュ マニフェストに含まれます。詳細については、 globの概要をご覧ください。
- 
    globStrictブール値(省略可) デフォルト値は true です。 true の場合、プリキャッシュ マニフェストの生成時にディレクトリの読み取りエラーが発生すると、ビルドが失敗します。false の場合、問題のあるディレクトリはスキップされます。詳細については、 globのドキュメントでstrictの定義をご覧ください。
- 
    templatedURLsオブジェクト(省略可) URL がサーバーサイド ロジックに基づいてレンダリングされる場合、その内容は複数のファイルまたは他の一意の文字列値に依存する可能性があります。このオブジェクトのキーは、サーバー側でレンダリングされた URL です。値が文字列の配列の場合、それらは globパターンとして解釈され、パターンに一致するファイルのコンテンツを使用して URL が一意にバージョニングされます。1 つの文字列で使用すると、特定の URL に対して生成した一意のバージョニング情報として解釈されます。
InjectManifestOptions
InjectPartial
プロパティ
- 
    injectionPoint文字列 省略可 デフォルト値は「self.__WB_MANIFEST」です。"self.__WB_MANIFEST" swSrcファイル内で検索する文字列。見つかった場合、生成されたプリキャッシュ マニフェストに置き換えられます。
- 
    swSrc文字列 ビルドプロセス中に読み取られるサービス ワーカー ファイルのパスとファイル名(現在の作業ディレクトリを基準とする相対パス)。 
ManifestEntry
プロパティ
- 
    完全性文字列 省略可 
- 
    リビジョン文字列 
- 
    URL文字列 
ManifestTransform()
workbox-build.ManifestTransform(
manifestEntries: (ManifestEntry & object)[],
compilation?: unknown,
): Promise<ManifestTransformResult> | ManifestTransformResult
タイプ
関数
パラメータ
- 
    manifestEntries(ManifestEntry & object)[] - 
    サイズ数値 
 
- 
    
- 
    compilation不明 省略可 
戻り値
- 
            Promise<ManifestTransformResult> | ManifestTransformResult 
ManifestTransformResult
プロパティ
- 
    マニフェスト(ManifestEntry & object)[] - 
    サイズ数値 
 
- 
    
- 
    警告string[] 省略可 
OptionalGlobDirectoryPartial
プロパティ
- 
    globDirectory文字列 省略可 globPatternsと照合するローカル ディレクトリ。パスは現在のディレクトリを基準とする相対パスです。
RequiredGlobDirectoryPartial
プロパティ
- 
    globDirectory文字列 globPatternsと照合するローカル ディレクトリ。パスは現在のディレクトリを基準とする相対パスです。
RequiredSWDestPartial
プロパティ
- 
    swDest文字列 ビルドプロセスによって作成されるサービス ワーカー ファイルのパスとファイル名(現在の作業ディレクトリを基準とする相対パス)。末尾は「.js」にする必要があります。 
RuntimeCaching
プロパティ
- 
    handlerこれにより、ランタイム ルートがレスポンスを生成する方法が決まります。組み込みの workbox-strategiesのいずれかを使用するには、その名前('NetworkFirst'など)を指定します。または、カスタム レスポンス ロジックを含むworkbox-core.RouteHandlerコールバック関数にすることもできます。
- 
    methodHTTPMethod(省略可) デフォルト値は「GET」です。 照合する HTTP メソッド。通常は、 'POST'、'PUT'、または他のタイプのリクエストと明示的に一致させる必要がある場合を除き、デフォルト値'GET'で十分です。
- 
    オプションオブジェクト(省略可) - 
    backgroundSyncオブジェクト(省略可) これにより、 handlerで構成されたworkbox-strategiesにworkbox-background-sync.BackgroundSyncPluginインスタンスが追加されます。- 
    name文字列 
- 
    オプションQueueOptions(省略可) 
 
- 
    
- 
    broadcastUpdateオブジェクト(省略可) これにより、 handlerで構成されたworkbox-strategiesにworkbox-broadcast-update.BroadcastUpdatePluginインスタンスが追加されます。- 
    channelName文字列 省略可 
 
- 
    
- 
    cacheName文字列 省略可 指定すると、 handlerで構成されたworkbox-strategiesのcacheNameプロパティが設定されます。
- 
    cacheableResponseこれにより、 handlerで構成されたworkbox-strategiesにworkbox-cacheable-response.CacheableResponsePluginインスタンスが追加されます。
- 
    expirationこれにより、 handlerで構成されたworkbox-strategiesにworkbox-expiration.ExpirationPluginインスタンスが追加されます。
- 
    fetchOptionsRequestInit(省略可) これにより、 fetchOptions値がhandlerで構成されたworkbox-strategiesに渡されます。
- 
    matchOptionsCacheQueryOptions(省略可) これにより、 matchOptions値がhandlerで構成されたworkbox-strategiesに渡されます。
- 
    networkTimeoutSecondsnumber(省略可) 指定すると、 handlerで構成されたworkbox-strategiesのnetworkTimeoutSecondsプロパティが設定されます。networkTimeoutSecondsをサポートするのは'NetworkFirst'と'NetworkOnly'のみです。
- 
    プラグインWorkboxPlugin[] 省略可 これにより、「ショートカット」オプション( workbox-expiration.ExpirationPluginのexpirationなど)のない 1 つ以上の Workbox プラグインを使用できます。ここで指定したプラグインは、handlerで構成されたworkbox-strategiesに追加されます。
- 
    precacheFallbackオブジェクト(省略可) これにより、 handlerで構成されたworkbox-strategiesにworkbox-precaching.PrecacheFallbackPluginインスタンスが追加されます。- 
    fallbackURL文字列 
 
- 
    
- 
    rangeRequestsブール値(省略可) これを有効にすると、 handlerで構成されたworkbox-strategiesにworkbox-range-requests.RangeRequestsPluginインスタンスが追加されます。
 
- 
    
- 
    urlPatternstring | RegExp | RouteMatchCallback この一致条件により、事前キャッシュに保存された URL のいずれにも一致しないリクエストに対して、構成済みのハンドラがレスポンスを生成するかどうかが決まります。複数の RuntimeCachingルートが定義されている場合は、urlPatternが一致する最初のルートがレスポンスを返します。この値は、 workbox-routing.registerRouteに渡される最初のパラメータに直接マッピングされます。最大限の柔軟性を確保するには、workbox-core.RouteMatchCallback関数を使用することをおすすめします。
StrategyName
列挙型
「CacheFirst」 
 
「CacheOnly」 
 
「NetworkFirst」 
 
「NetworkOnly」 
 
「StaleWhileRevalidate」 
 
WebpackGenerateSWOptions
WebpackGenerateSWPartial
プロパティ
- 
    importScriptsViaChunksstring[] 省略可 webpack チャンクの 1 つ以上の名前。これらのチャンクのコンテンツは、 importScripts()の呼び出しを介して、生成された Service Worker に含まれます。
- 
    swDest文字列 省略可 デフォルト値は「service-worker.js」です。 このプラグインによって作成された Service Worker ファイルのアセット名。 
WebpackInjectManifestOptions
WebpackInjectManifestPartial
プロパティ
- 
    compileSrcブール値(省略可) デフォルト値は true です。 true(デフォルト)の場合、swSrcファイルは webpack によってコンパイルされます。falseの場合、コンパイルは行われません(webpackCompilationPluginsは使用できません)。マニフェストを JSON ファイルなどに挿入する場合は、falseに設定します。
- 
    swDest文字列 省略可 このプラグインによって作成されるサービス ワーカー ファイルのアセット名。省略すると、名前は swSrc名に基づいて設定されます。
- 
    webpackCompilationPluginsany[] 省略可 swSrc入力ファイルをコンパイルするときに使用されるオプションのwebpackプラグイン。compileSrcがtrueの場合にのみ有効です。
WebpackPartial
プロパティ
- 
    チャンクstring[] 省略可 対応する出力ファイルがプリキャッシュ マニフェストに含める必要がある 1 つ以上のチャンク名。 
- 
    除外(string | RegExp | function)[] 省略可 プリキャッシュ マニフェストからアセットを除外するために使用される 1 つ以上の指定子。これは、 webpackの標準excludeオプションと同じルールに従って解釈されます。指定しない場合、デフォルト値は[/\.map$/, /^manifest.*\.js$]です。
- 
    excludeChunksstring[] 省略可 対応する出力ファイルをプリキャッシュ マニフェストから除外する 1 つ以上のチャンク名。 
- 
    含む(string | RegExp | function)[] 省略可 プリキャッシュ マニフェストにアセットを含めるために使用される 1 つ以上の指定子。これは、 webpackの標準includeオプションと同じルールに従って解釈されます。
- 
    モード文字列 省略可 「production」に設定すると、デバッグ情報を除外した最適化されたサービス ワーカー バンドルが生成されます。ここで明示的に構成しない場合、現在の webpackコンパイル時に構成されたmode値が使用されます。
メソッド
copyWorkboxLibraries()
workbox-build.copyWorkboxLibraries(
destDirectory: string,
): Promise<string>
これにより、Workbox で使用される一連のランタイム ライブラリがローカル ディレクトリにコピーされます。このディレクトリは、Service Worker ファイルと一緒にデプロイする必要があります。
これらのローカルコピーをデプロイする代わりに、公式の CDN URL から Workbox を使用することもできます。
このメソッドは、Workbox の CDN コピーを使用したくない workbox-build.injectManifest を使用するデベロッパー向けに公開されています。workbox-build.generateSW を使用するデベロッパーは、このメソッドを明示的に呼び出す必要はありません。
パラメータ
- 
    destDirectory文字列 ライブラリの新しいディレクトリが作成される親ディレクトリのパス。 
戻り値
- 
            Promise<string> 新しく作成されたディレクトリの名前。 
generateSW()
workbox-build.generateSW(
config: GenerateSWOptions,
): Promise<BuildResult>
このメソッドは、指定されたオプションに基づいて、プリキャッシュする URL のリスト(プリキャッシュ マニフェスト)を作成します。
また、使用すべき runtimeCaching ルールなど、Service Worker の動作を構成する追加オプションも受け取ります。
プリキャッシュ マニフェストと追加の構成に基づいて、すぐに使用できるサービス ワーカー ファイルを swDest にディスクに書き込みます。
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await generateSW({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  navigateFallback: '...',
  runtimeCaching: [{
    // Routing via a matchCallback function:
    urlPattern: ({request, url}) => ...,
    handler: '...',
    options: {
      cacheName: '...',
      expiration: {
        maxEntries: ...,
      },
    },
  }, {
    // Routing via a RegExp:
    urlPattern: new RegExp('...'),
    handler: '...',
    options: {
      cacheName: '...',
      plugins: [..., ...],
    },
  }],
  skipWaiting: ...,
  swDest: '...',
});
パラメータ
- 
    config
戻り値
- 
            Promise<BuildResult> 
getManifest()
workbox-build.getManifest(
config: GetManifestOptions,
): Promise<GetManifestResult>
このメソッドは、指定したオプションに基づいて、プリキャッシュする URL のリスト(プリキャッシュ マニフェスト)と、エントリの数とサイズの詳細を返します。
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, manifestEntries, size, warnings} = await getManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
});
パラメータ
- 
    config
戻り値
- 
            Promise<GetManifestResult> 
getModuleURL()
workbox-build.getModuleURL(
moduleName: string,
buildType: BuildType,
): string
パラメータ
- 
    moduleName文字列 
- 
    buildTypeBuildType 
戻り値
- 
            文字列 
injectManifest()
workbox-build.injectManifest(
config: InjectManifestOptions,
): Promise<BuildResult>
このメソッドは、指定されたオプションに基づいて、プリキャッシュする URL のリスト(プリキャッシュ マニフェスト)を作成します。
マニフェストは swSrc ファイルに挿入され、プレースホルダ文字列 injectionPoint によって、マニフェストを配置するファイル内の場所が決まります。
マニフェストが挿入された最終的な Service Worker ファイルが、swDest にディスクに書き込まれます。
この方法では、swSrc ファイルはコンパイルまたはバンドルされません。マニフェストの挿入のみが処理されます。
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await injectManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  swDest: '...',
  swSrc: '...',
});
パラメータ
- 
    config
戻り値
- 
            Promise<BuildResult>