hash & chunkhash & contenthash区别
示例
js
// ...
output: {
path: path.resolve(__dirname, '/dist'),
filename: 'js/[name].[hash].js',
chunkFilename: '[name].[contenthash].js' // contentHash 不区分大小写
}
// ...
hash
跟整个项目的构建相关,只要项目里有文件更改,整个项目构建的hash值都会更改,并且全部文件都共用相同的hash值. 缺点:改变一个文件全部都会改变,没办法使用缓存效果。
chunkhash
模块的hash值,内容更改也会更改。 缺点:在main.js中引入xxx.css,打包后的hash一样。例如更改main.js的内容,则打包后xxx.css的hash会随着main.js一起更改掉
contenthash
根据文件的内容计算hash,最优解。