webpack设置有⼏种hash哈希值?有哪些作⽤??
三种设置的区别
1、Hash
hash是跟整个项⽬的构建相关,只要项⽬⾥有⽂件更改,整个项⽬构建的hash值都会更改,并且全部⽂件都共⽤相同的hash值
2、chunkhash
chunkhash,它根据不同的⼊⼝⽂件(Entry)进⾏依赖⽂件解析、构建对应的chunk,⽣成对应的哈希值。
简单来说这种是根据不同⼊⼝来配置的,⽐如react,react-router、resux等公共⼊⼝⽂件,只要这些没有改变,那么他对应⽣成的js的hash 值也不会改变。react router缓存
3、contenthash
contenthash主要是处理关联性,⽐如⼀个js⽂件中引⼊css,但是会⽣成⼀个js⽂件,⼀个css⽂件,
但是因为⼊⼝是⼀个,导致他们的hash值也相同,所以当只有js修改时,关联输出的css、img等⽂件的ha
sh值也会改变,这种情况下就需要contenthash了。
使⽤哈希值的作⽤:
1、提升webpack打包速度和项⽬体积:
将webpack⼊⼝的chunk⽂件中所有公共的代码提取出来,减少代码体积;同时提升webpack打包速度。
2、利⽤缓存机制:
依赖的公共模块⽂件⼀般很少更改或者不会更改,这样独⽴模块⽂件提取出可以长期缓存。
3、利⽤浏览器缓存
⽅便我们在改动代码的时候,线上代码发版后及时读取最新的js⽂件,防⽌出现缓存问题;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。