1

プロジェクトの Service Worker を生成するために sw-precache-webpack-plugin を使用しています。すべてのフォント、js、および css ファイルはキャッシュ ストレージに表示されますが、index / html ファイルは表示されず、移動しても機能しません。オフライン。「サイトをインストールできません: 一致する Service Worker が検出されませんでした」というメッセージも表示されます。アプリマニフェストのホームページに追加しようとすると。

私のスタックは、インデックス ファイルに Express + ejs を使用したユニバーサルな React + redux アプリです。デフォルトのhtmlファイルではなくejsを使用しているためかどうかはわかりませんが、ファイルが見つからないようです。テンプレートを指定する方法はありますか? 私の sw-precache-webpack-plugin webpack 設定は次のとおりです。

new SWPrecacheWebpackPlugin({
 cacheId: 'tester',
 filename: 'my-service-worker.js',
 directoryIndex: '/',
}),

アドバイスをいただければ幸いです

4

1 に答える 1

3

プラグイン構成にキャッシュ戦略の仕様がありません。

plugins: [
    new SWPrecacheWebpackPlugin({
        cacheId: 'tester',
        filename: 'my-service-worker.js',
        runtimeCaching: [
        {
            urlPattern: '/',
            handler: 'cacheFirst',
        }
        ]
    })
]

ドキュメント: https://github.com/GoogleChrome/sw-precache#runtimecaching-arrayobject

于 2017-01-11T11:45:08.640 に答える