webpack 有三种hash模式

    1. hash

      是整个项目的hash,只有项目中有其中任何一个文件改变,都会导致 hash 值的改变,不利于 缓存

    2. chunkhash

      chunkhash的出现正是为了解决hash 不利于缓存的问题 根据一个入口点,然后分析依赖,最终生成一个chunk文件,好处就是如果不在入口点依赖的文件里面出现,他们就不会受到影响。 但是对于 css 文件不友好,如果一个 css 文件在 index 文件中被引入,如果此时index中引入的其它模块改变了,那么最终css生成的chunkhash也会和上一次不一样

    3. contenthash

      contenthash 就是只能当文件的内容发生改变,才会触发 contenthash 值的改变

    最佳实践

    在生产环境中,对于 output 中输出的文件的hash 建议使用 chunkhash。 对于 css 这种文件建议使用 contenthash。