5
有人可以告訴我[hash]和[chunkhash]的用途是什麼,它們來自哪裏?webpack [hash]和[chunkhash]的用途是什麼?
output: {
path: "/home/proj/cdn/assets/[hash]",
publicPath: "http://cdn.example.com/assets/[hash]/"
}
有人可以告訴我[hash]和[chunkhash]的用途是什麼,它們來自哪裏?webpack [hash]和[chunkhash]的用途是什麼?
output: {
path: "/home/proj/cdn/assets/[hash]",
publicPath: "http://cdn.example.com/assets/[hash]/"
}
基本上它涉及到瀏覽器cacheing - 當你成爲你的資產通常要告訴客戶端/瀏覽器,他們可以使用相同的腳本/樣式表/ JPEG等,而無需下載它每一次。這通過發送適當的HTTP頭字段來完成。
然後,問題是你應該告訴客戶端他們可以繼續使用相同樣式表多長時間?如果你重新設計你的網站,他們不下載你的新樣式表,他們不會看到這些變化。解決方案通常是爲樣式表文件名添加某種標識符或版本號 - 如果此樣式/版本在樣式表更改時發生更改(因此文件名不同),則瀏覽器將再次下載它(這稱爲緩存破壞)。
基本上,webpack可以向捆綁輸出名稱添加一個哈希值,作爲捆綁內容的函數,當內容發生變化時,它會有所不同,從而實現流程的自動化。 chunkhash
做同樣的事情,如果你正在分割成多個塊。
下面有一些非的WebPack相關討論:Strategies for Cache-Busting CSS
有你讀一個webpack.github [這](https://webpack.github.io/docs/long-term-caching.html)的解釋。 IO? –
是的,但它仍然不清楚它爲 –
hm ...建造了什麼...... [here](https://medium.com/@okonetchnikov/long-term-caching-of-static-assets-with-webpack-1ecb139adb95 #.oibt9ye3h)也是相當有趣的話題。可能它會很容易理解你 –