竹井德川YD
我了解为什么在构建生产项目时需要使CSS,JavaScript和图像之类的媒体文件的名称唯一。我不明白为什么使用MD5达到这种效果如此流行,例如:
要生成类似的文件名main.7e2c49a622975ebd9b7e.js
,我们需要读取文件并创建内容的MD5。似乎需要很多时间,尤其是在高清图像和视频的情况下。
还有其他一些方法可以生成唯一文件名:
- 使用UNIX时间戳
- 使用
Math.random()
只是两个实例,但我看不出要进行更多研究的原因。
卡亚金·科德
主要原因是,如果文件内容没有更改,则哈希值也不会更改。而且,如果哈希值没有变化,则意味着您的用户的浏览器在下一次部署后就不必下载文件了(因为浏览器已经从上一个页面加载中缓存了文件)。
如果使用时间戳,则每次部署的每个文件名都会更改,从而导致用户的浏览器必须重新下载项目中的每个文件...甚至其内容未更改的文件。如果您经常部署代码,这可能会对性能造成极大的负面影响。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句