問題タブ [workbox-webpack-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webpack - webpack 5 を使用したワークボックスは、プリキャッシュ マニフェストを生成しません
現在、workbox InjectManifest Plugin を使用して新しい webpack 5.0.0-alpha2 をセットアップしようとしています。
私が知る限り、これは precacheManifest を生成し、これを serviceWorker に挿入して、workbox.precaching.precacheAndRoute(self.__precacheManifest || []);
.
しかし、私にとっては、precacheManifest は生成されず、この行は持続します。
これは私の Workbox Webpack プラグイン構成です:
だから特別なことは何もありません。
performance - 1000 を超えるアセットを事前キャッシュするとパフォーマンスが低下する
Vue CLI PWA ワークボックス プラグイン モードを使用しています。私のアプリには 1000 を超えるアセットがあり、それらを事前キャッシュするとパフォーマンスが非常に低下します。チェックアウトしてください:
より具体的にファイルを事前キャッシュする方法はありますか? たとえば、ファイルを URL で事前キャッシュします。URLx/y
のみでファイル 1、5、6 をプリキャッシュし、URL でx/v
プリキャッシュ ファイル 7、8、2 をプリキャッシュします。
service-worker - 開発中にローカルで実行するとワークボックスの競合するキャッシュ エントリが発生する
Workbox Webpack プラグインを開発モード (ローカル) で使用すると、次の Service Worker エラーが発生します。
PrecacheController.mjs:62 キャッチされない add-to-cache-list-conflicting-entries: 'workbox-precacheing.PrecacheController.addToCacheList()' に渡された 2 つのエントリの URL は未定義ですが、異なるリビジョンの詳細がありました。Workbox はアセットを正しくキャッシュおよびバージョン管理できません。エントリの 1 つを削除してください。
これは、webpack の再ビルド時に、静的アセットがプリキャッシュ呼び出しに 2 回追加されるように見えるため、発生していると考えられます。ファイルに1 回、service-worker.js
ファイルにもう 1precache-manifest.XXX.js
回。両方のファイルを見ると、チャンクとエントリ スクリプトが両方の場所に追加されていることがわかりますservice-worker.js
。
すべてのビルドが消去され、最初から再構築されるため、これは本番環境では問題になりません。
これが私の Workbox Webpack Plugin 構成です:
workbox - WorkboxPlugin のプリキャッシュ パスを変更するには? (Jigsaw Php フレームワークを使用)
私の問題は、パスが正しく設定されていないことです。たとえば、service-worker.js では以下を作成します。
しかし、私はジグソー フレームワークを使用していて、パブリックの場所が異なるため、
同じことが precache-file 自体にも当てはまります。すべてのパスが間違っています。
でなければなりません
globDirectory 設定で遊んでみましたが、うまくいきませんでした。
これが私の「標準」Webpack構成です。
reactjs - CacheFirst が定義されていないというエラーが表示されるのはなぜですか?
ワークボックスを使用して React プロジェクトの Service-Worker を構築しています。何が問題なのかわかりませんが、未定義のプロパティ 'CacheFirst' を読み取れないというエラーがコンソールに表示され続けます。
私がフェッチしているルートは、sqlite データベースを使用した nodejs バックエンドからのものです。返されるデータは、データベースにリストされている日付からのものです。それが何か関係があるのか 、それとも単にワークボックスの問題なのかはわかりません。このファイルを更新するたびに、workbox injectManifestを実行し、次にserve -s -p3000 buildを使用してブラウザーでアプリケーションを提供しました。