我是playframework的新手。资产指纹识别如何运作? 没有具体的文件解释指纹识别的内部工作。
如何在内部生成摘要代码,如ad3303949495939398433-main.css或adfadvffddfcddf352545464-file.txt?
它是否散列文件内容或文件名? Play框架中什么是Asset Fingerprint?
请帮助我理解这一点。
谢谢,
答案 0 :(得分:2)
它散列文件内容:使用文件名是没有意义的。
默认情况下,它应该使用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。尽管它处于不同的框架,但它们解释了资产版本控制的想法