ng serve输出中的"Hash: fec054139de85795"有什么作用?
ng serve输出中Hash值的作用
这个Hash: fec054139de85795是基于本次编译输出的所有文件内容生成的唯一标识,核心作用有三个:
- 优化浏览器缓存:浏览器会根据资源标识判断是否读取缓存。当项目代码有变更时,哈希值会同步改变(生产环境构建时,哈希通常会嵌入文件名),浏览器发现标识不同就会加载最新资源,避免用户看到旧页面。
- 验证构建完整性:如果两次构建的代码内容完全一致,哈希值会保持相同;只要代码有任何改动(哪怕是细微的注释调整),哈希都会变化。你可以通过对比哈希快速确认构建结果是否符合预期。
- 辅助增量构建:
ng serve默认启用增量构建,哈希值可以帮系统识别哪些代码块没有变更(比如你输出里的“5个未变更的代码块”),这些哈希不变的部分会复用之前的构建结果,大幅提升编译速度。
参考输出
Lazy Chunk Files | Names | Raw Size
src_app_features_main-overview_main-overview_module_ts.js | app-features-main-overview-main-overview-module | 5.00 MB |
5个未变更的代码块
Build at: 2024-03-25T08:18:43.385Z - Hash: fec054139de85795 - Time: 1347ms
√编译成功。
内容的提问来源于stack exchange,提问作者Pranam Bhat
相关产品推荐
相关产品推荐

