2016-02-03 18 views
5

誰かが目的[ハッシュ]と[チャンクハッシュ]が何であるか教えてもらえますか?どこから来たのですか?webpack [hash]と[chunkhash]の目的は何ですか?

output: { 
    path: "/home/proj/cdn/assets/[hash]", 
    publicPath: "http://cdn.example.com/assets/[hash]/" 
} 
+0

あなたはwebpack.githubの[この](https://webpack.github.io/docs/long-term-caching.html)の説明を読みました。 io? –

+0

はい、それでも、それが何のために作られているのかはまだ分かりません –

+1

hm ... [ここ](https://medium.com/@okonetchnikov/long-term-caching-of-static-assets-with-webpack-1ecb139adb95 #.oibt9ye3h)また、かなり興味深い話題です。おそらくあなたのために理解するのはとても簡単でしょう –

答えて

3

ブラウザcacheingに基本的にはその関連は - あなたは資産を提供するときには、一般的に、彼らはそれを毎回ダウンロードすることなく、同じスクリプト/スタイルシート/ JPEGなどを使用することができ、クライアント/ブラウザをお伝えしたいと思います。これは、適切なHTTPヘッダーフィールドを送信することによって行われます。

問題は、クライアントがどのようにして同じスタイルシートを使用し続けることができるかということですか?サイトを再設計して新しいスタイルシートをダウンロードしないと、それらの変更が表示されません。解決策は、通常、スタイルシートファイル名に何らかの種類の識別子またはバージョン番号を追加することです - スタイルシートが変更されたときにこのID /バージョンが変更され(したがってファイル名が異なる場合)、ブラウザは再度それをダウンロードします(キャッシュバストする)。

基本的にwebpackはバンドルの出力名にハッシュを追加できます。この名前は、コンテンツが変更されたときにバンドルの内容に応じて異なるため、プロセスが自動化されます。 chunkhashは、バンドルを複数のチャンクに分割する場合も同じことを行います。

HERESにいくつかの非WebPACKの関連議論:Strategies for Cache-Busting CSS

関連する問題