これはできません。 SW(またはその点についてはブラウザ)は、Webサーバー上の特定のパスにあるファイルについては何の手がかりも持っていません。キャッシュするファイルの名前を指定する必要があります。同じ問題の詳細here.
ファイルのリストを自動的に生成するビルドツールを使用していますか?ない場合は、あなたが最も可能性が高い
EDIT :)必要があります:SWツーリングのための最も使用されるライブラリの
一つを仕事箱です。彼らは資産のruntime-cachingとprecachingの両方を提供します。彼らはまた、例えばビルド用ツールプラグインを持っています。 WebpackとGulp。
ランタイムキャッシュは、キャッシュにアセットが存在する場合はそのアセットをサーバーから更新することで動作します。基本的に、新しいアセットはすべてネットワークから最初に要求され、その後の要求でキャッシュから戻されます。
EDIT2:
はい、あなたはある程度NPMずに仕事箱を使用することができます。キャッシュされるファイルのファイル名を収集するには、NPMスクリプトなどを実行する必要がありますが、手作業で作成したSWファイルにWorkbox.jsスクリプトをインポートするだけで、ランタイムキャッシュを実装することはできます。ちょうどあなたのSWの最上部には
importScript("https://unpkg.com/[email protected]/build/importScripts/workbox-sw.prod.v2.1.0.js")
を言って
は仕事箱の(今のところ)の最新バージョンをインポートします。それはruntime-caching example here tooで起こることがわかります。
上記の.jsファイルをダウンロードして、独自のサーバーに置き、代わりに相対パスからインポートすることもできます。
ありがとうございます@pate。今、自動的にファイルのリストを生成することを考えています。これを行う最善の方法を私に提案できますか? –
実行時にキャッシュすることはできますか? –
@MhodYasinはい、私は答えを編集しました – pate