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。