javascript - 当 ContentHash 的性能低于其他哈希策略时?
问题描述
在阅读了以下三种哈希策略后Webpack
:
Hash
- 由构建本身决定。所有块都具有相同的哈希值。Chunkhash
- 由条目文件确定,并将确定来自该条目的具有相同散列的任何其他块。Contenthash
- 由块的内容决定(将我们的元数据留在哈希计算中)。
我唯一的结论是,前两个哈希策略会导致客户端多次下载未更改的块。
你能解释一下为什么前两种散列策略会比最后一次为客户端带来更好的性能吗?
解决方案
缓存作为一个对象工作,当下载一个文件时,浏览器会检查它是否已经有任何同名的文件。
现在,你有点回答了你的问题。当您使用前 2 个策略生成构建,发布它们,然后修改其内容,再次发布时,即使您进行了一次修改,用户也会再次下载所有内容。
当您使用 contenthash 时,哈希将根据该块的内容确定,因此如果您进行了任何修改,用户只需下载新文件,并且只是那些被修改的文件而不是整个包。
推荐阅读
- javascript - 为什么 Javascript 无法识别我的构造函数?
- ios - 在 podspec 中使用本地框架
- c# - 你如何从预制件中获得一个 int 值?
- javascript - React Native:为什么不能同时在两台设备上进行热重载?
- kotlin - IntelliJ 在单行注释后缩进一行
- amazon-s3 - S3 MultiObjectDeleteException 与 AWS Glue 2.4 或 Pyspark
- ruby-on-rails - Rails webhook 身份验证 HMAC-SHA256
- c - 总理装配作业
- javascript - 使用 socket.io 收集击键事件
- spring-boot - 禁用 Freemarker 调试消息