webpack打包时hash码是怎么生成的,随机值一样时怎么避免

时间:2025-02-14 14:30:00

webpack生态中存在多种计算hash的方式:

  • hash
  • chunkhash
  • contenthash
hash

代表每次webpck编译中生成的hash值,所有使用这种方式的文件hash都相同。每次构建都会使用webpack计算新的hash。

chunkhash

基于入口文件entry及其关联的chunk生成,某个文件的改动只会影响与它有关联的chunk的hash值,不会影响其他文件

conenthash

根据文件内容创建,当文件内容发生变化时,contenthash发生变化。

避免相同随机值

webpack在计算hash后分割chunk。产生相同随机值可能是因为这些文件属于同一个chunk,可以将某一个文件提到独立的chunk,放入entry