我是新手。资产指纹是如何工作的?没有具体的文件解释指纹识别的内部工作原理。
如何在内部生成像ad3303949495939398433-main.css或adfadvffddfcddf352545464-file.txt这样的摘要代码?
是否散列文件内容或文件名?资产指纹在Play框架中的用途是什么?
请帮我理解一下。
谢谢,
它散列文件内容:使用文件名是没有意义的。
默认情况下,它应该使用md5
,但它可以配置:https://github.com/playframework/playframework/blob/2.5.9/framework/src/play/src/main/scala/play/api/controllers/Assets.scala#L98
这背后的想法是,使用该哈希,您可以更积极地缓存该文件(因为如果您更改了其中的任何内容,名称将会不同)。
播放文档参考此链接:http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark。尽管它是一个不同的框架,但它们解释了资产版本控制的概念