webpack中hash、chunkhash、contenthash區別
- hash
若是都使用hash的話,由於這是工程級別的,即每次修改任何一個文件,全部文件名的hash至都將改變。因此一旦修改了任何一個文件,整個項目的文件緩存都將失效。
- chunkhash
chunkhash根據不一樣的入口文件(Entry)進行依賴文件解析、構建對應的chunk,生成對應的哈希值。在生產環境裏把一些公共庫和程序入口文件區分開,單獨打包構建,接着咱們採用chunkhash的方式生成哈希值,那麼只要咱們不改動公共庫的代碼,就能夠保證其哈希值不會受影響。
這樣就會有個問題,只要對應css或則js改變,與其關聯的文件hash值也會改變,但其內容並無改變呢,因此沒有達到緩存意義。
- contenthash contenthash是針對文件內容級別的,只有你本身模塊的內容變了,那麼hash值才改變,
歡迎關注本站公眾號,獲取更多信息