2016-02-03 18 views
5

Birisi bana [hash] ve [chunkhash] amacının ne olduğunu ve nereden geldiğini söyleyebilir mi?Webpack [hash] ve [chunkhash] 'un amacı nedir?

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

Bir webpack.github [Bu] (https://webpack.github.io/docs/long-term-caching.html) açıklamasını okumak var. io? –

+0

evet, ama hala –

+1

hm için neyin yapıldığı açık değil ... [burada] (https://medium.com/@okonetchnikov/long-term-caching-of-static-assets-with-webpack-1ecb139adb95 # .oibt9ye3h) ayrıca bu konuda oldukça ilginç bir konu. Muhtemelen sizin için anlamak kolay olacak –

cevap

3

tarayıcı cacheing için Temelde ilişkili - Sen öğelerini sunması zaman genellikle bunu her seferinde indirmek zorunda kalmadan aynı komut dosyası/stil/jpeg vb kullanabilirsiniz istemci/tarayıcı anlatmak istiyorum. Bu, uygun HTTP başlık alanlarını göndererek yapılır.

Sorun, müşteriye örneğin aynı stil sayfasını kullanmaya devam edebildiklerini ne kadar süre söylemeniz gerektiğidir. Sitenizi yeniden tasarlarsanız ve yeni stil sayfanızı indirmezseniz, bu değişiklikleri görmezler. Çözüm genellikle stil sayfası dosya adına bir çeşit tanımlayıcı veya sürüm numarası eklemektir - stil sayfası değiştiğinde (ve dolayısıyla dosya adı farklı olduğunda) bu kimlik/sürüm değişirse tarayıcı yeniden indirir (bu önbellek olarak bilinir)) olarak görev görür.

Temel olarak, web paketi, içerik değiştiğinde, paket içeriğinin bir işlevi olan ve böylece işlemi otomatikleştiren, demet çıkış adına bir karma ekleyebilirsiniz. Bir paketi birden çok bölüme ayırıyorsanız, chunkhash aynı şeyi yapar.

İşte olmayan bazı webpack ilgili tartışma: Strategies for Cache-Busting CSS