webpack的三种hash模式

807 阅读1分钟
hash

项目中, 只要有一个文件发生变动, 所有文件的hash都会发生变化

content hash

只有对应的文件内容发生变化, hash才会变化, 比如a.js里面引入了b.css, 只有a文件变了, 如果给css设置了chunk hash ,css文件的hash也会发生变化 一般css 会用这个content hash, 搭配配置MiniCssExtractPlugin插件

chunk hash

一般js会用, 对应的依赖的js都会打包在一个js 文件里面

file-loader的hash

可能有同学会表示有以下疑问。

明明经常看到在处理一些图片,字体的file-loader的打包时,使用的是[name]_[hash:8].[ext]

但是如果改了其他工程文件,比如index.js,生成的图片hash并没有变化。

这里需要注意的是,file-loader的hash字段,这个loader自己定义的占位符,和webpack的内置hash字段并不一致。

这里的hash是使用md4等hash算法,对文件内容进行hash。