2017-09-04 4 views
1

Create-React-Appライブラリからサンプルアプリケーションを作成しました。ビルド・コマンドを実行すると、cache-first戦略を使用して独自にサービスワーカーが生成されます。 しかし、キャッシュのようないくつかのAPIレスポンスが必要です。自動生成されたサービスワーカーに自分のコードを含むスクリプトをどのように変更するのか分かりません。 私のケースではヘルプラインがいくつか見つかりましたが、これらのすべてを理解するには十分ではありません。Create-React-Appで自動生成されたサービスワーカーを変更する方法

デフォルトでは、生成されたサービスワーカーファイルは、HTTP APIリクエスト、画像、または別のドメインから読み込まれた埋め込みなど、クロスオリジントラフィックを傍受またはキャッシュしません。これらの要求にランタイムキャッシュ方式を使用する場合は、webpack.config.prod.jsのSWPrecacheWebpackPluginセクションでruntimeCachingオプションを取り出して設定できます。段落の上

doc公式

から事前に感謝です!

答えて

1

npm run ejectを実行して、Webpackの基本設定にアクセスできます。

これを実行すると、webpack.config.prod.jsファイルを修正して、生成されたサービスワーカーを調整できます。 section that configures SWPrecacheWebpackPluginを探してください。

runtimeCaching configuration optionを追加して、ランタイムキャッシュのニーズに対応することができます。

+1

吐出後、私は自分ですべてのものを処理しなければならないので、私は取り出すことが好きではありません。私はCRAそのものをフォークすることを考えています。 –

2

最近プロジェクトで作業しているときにも同様の問題があり、「取り出す」ことは望ましくありませんでした。 CRAによって生成されたサービスワーカーコードにカスタムサービスワーカーコードを追加するための小さなツールを作成しました。

はこちらをご覧:https://github.com/bbhlondon/cra-append-sw

+0

すばらしい回避策、ありがとう! (展開中のように 'babel-loader'エラーが発生した場合は、' --skip-compile'フラグを使用してください) – bplittle

関連する問題