一、[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):