webpack 中的hash/chunkHash/contentHash

一、[hash]

? ??hash是跟整個(gè)項(xiàng)目的構(gòu)建相關(guān),只要項(xiàng)目里有文件更改,整個(gè)項(xiàng)目構(gòu)建的hash值都會(huì)更改,并且全部文件都共用相同的hash值;

????缺點(diǎn)是,只有一個(gè)文件修改的話,其他文件的緩存就不生效了

二、[chunkHash]

??????根據(jù)不同的入口文件(Entry)進(jìn)行依賴文件解析、構(gòu)建對(duì)應(yīng)的chunk,生成對(duì)應(yīng)的哈希值。我們?cè)谏a(chǎn)環(huán)境里把一些[公共庫(kù)][程序入口文件]區(qū)分開,單獨(dú)打包構(gòu)建,接著我們采用chunkhash的方式生成哈希值,那么只要我們不改動(dòng)公共庫(kù)的代碼,就可以保證其哈希值不會(huì)受影響。主要就是,在生成多個(gè)chuank的時(shí)候,只有一個(gè)chunk 內(nèi)的代碼發(fā)生改變時(shí),不會(huì)影響其他的chunk的hash。

? ? ? ? 缺點(diǎn):被js引用的css與js共用一個(gè)chunkHash值,所以在只有js修改的情況下,css的Hash值也會(huì)跟著改變。

三、[contentHash]????

? ? ? ? 當(dāng)使用contenthash時(shí),如果修改js文件,css文件的hash不會(huì)變化,但是修改js的文件,css文件的hash也會(huì)變化


參考文獻(xiàn):

? ??https://juejin.im/post/5d70aee4f265da03f12e7ab2

? ??https://juejin.im/post/5a4502be6fb9a0450d1162ed

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容