在webpack中,Hash、ContentHash、ChunkHash

Hash、ContentHash、ChunkHash

  1. 在我们给打包的文件进行命名的时候,会使用placeholder,placeholder中有几个属性比较相似:
    1. hash、chunkhash、contenthash
    2. hash本身是通过MD4的散列函数处理后,生成一个128位的hash值(32个十六进制);
  2. hash值的生成和整个项目有关系:
    1. 比如我们现在有两个入口index.jsmain.js
    2. 它们分别会输出到不同的bundle文件中,并且在文件名称中我们有使用hash
    3. 这个时候,如果修改了index.js文件中的内容,那么hash会发生变化;
    4. 那就意味着两个文件的名称都会发生变化;
  3. chunkhash可以有效的解决上面的问题,它会根据不同的入口进行解析来生成hash值:
    1. 比如我们修改了index.js,那么main.js的chunkhash是不会发生改变的;
  4. contenthash表示生成的文件hash名称,只和内容有关系:
    1. 比如我们的index.js,引入了一个style.cssstyle.css有被抽取到一个独立的css文件中;
    2. 这个css文件在命名时,如果我们使用的是chunkhash
    3. 那么当index.js文件的内容发生变化时,css文件的名也会发生变化;
    4. 这个时候我们可以使用contenthash;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值