理解webpack的hash,contenthash,chunkhash

今天和大家聊一聊webpack中不同hash值的作用。


问题来源

对于浏览器来说,一方面期望每次请求页面资源时,获得的都是最新的资源;一方面期望在资源没有发生变化时,能够复用缓存对象。

这个时候,使用文件名+文件哈希值的方式,就可以实现只要通过文件名,就可以区分资源是否有更新。

而webpack就内置了hash计算方法,对生成文件的可以在输出文件中添加hash字段。

区分hash,contenthash,chunkhash

webpack内置的hash有三种:

  • hash:每次构建会生成一个hash。和整个项目有关,只要有项目文件更改,就会改变hash
  • contenthash:和单个文件的内容相关。指定文件的内容发生改变,就会改变hash。
  • chunkhash:和webpack打包生成的chunk相关。每一个entry,都会有不同的hash。

那么我们该怎么使用这些不同的hash值呢?

chunkhash用法

一般来说,针对于输出文件,我们使用chunkhash。

因为webpack打包后,最终每个entry文件及其依赖会生成单独的一个js文件。

此时使用chunkhash,能够保证整个打包内容的更新准确性。

contenthash用法

对于css文件来说,一般会使用MiniCssExtractPlugin将其

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值