[]是否启用版本管理,启用后,会重命名变化的文件(Laya如何判别变化?)

请问一下,这个会重命名变化的文件的意思,会变化的意思是什么?是根据什么做的判别?
比如我现在有一个文件是res/images/aa.png,如果我替换了另外一个png,把它也命名为aa.png或者我没替换,只是重新发布一次,Laya是如何判断这个文件有没有发生了变化,而且据我自己做的项目,其实Laya是不管有没有发生了变化,而是强制性的每次都重新在release里重新命名生成一个aa带hash.png这样的文件吧?即使是完全相同的一张图,也是会重新hash命名。这就导致了 每次发布 都是新的图片。
是这样吗?谢谢回答
 
 
还有一点就是 我觉的处理的不是特别好,比如我一开始没有启用版本管理,然后后面才启用版本管理了,但是很多图片的路径好名字都已经写在了js里,资源也已经提交到了svn上,这个时候再启用版本管理的话,其实第一次 根本无需为每个文件重新生成带hash的名字,就用现在的名字就行,以后检测到了变化(我上面说的3种变化),然后再重新给文件添加hash命名。但是相对于 以上3种变化,相对于一个名字不改,内容改变的png,我实在想不出Laya是怎么检测到它的改变的,唯一的解释就是,每次发布,不改三七二十一,全部重新生成。
已邀请:

Prajna

赞同来自:

我先自己回答一下,因为启用了版本管理后,获取会生成version.json文件。
version.json里有很多的配置信息。
比如我有一个是"images/background.png":"images/background_hash.png"
造成会重新命名文件的变化包括(这里说的文件都是值得是release/wxgame/下的文件,不是Laya或者Bin目录里的文件),
1.文件被删除了,比如发布之前先把之前生成的删除了,这样就要重新命名文件。所以如果全部删除了,就会全部重新生成这些文件名。
-----------------------以下的条件都是没有删除资源的情况下--------------------------
2.复合文件(atlas,swf等),如果atlas里的内容和之前的atlas内容不符
3.versin.json被删除了,虽然其他文件都在,但是也会全部重新生成新的文件名。
 
是这样吗?
 
至于以后生成新的文件名之后,会读取新的文件,实际上是因为文件名不同,自然就去读取了新的文件,比如一个新加了图片的图集,其实就是相当于读取了新文件,和旧文件没有任何关系了。而在微信小游戏里,可能会有一些缓存什么的,就是第一次读取了bg.png,第二次虽然你想从服务器上读取新的bg.png,但是他实际上读取了第一次缓存的资源,所以不会更新使用服务器上的新的bg.png

Prajna

赞同来自:

还有一点就是 我觉的处理的不是特别好,比如我一开始没有启用版本管理,然后后面才启用版本管理了,但是很多图片的路径好名字都已经写在了js里,资源也已经提交到了svn上,这个时候再启用版本管理的话,其实第一次 根本无需为每个文件重新生成带hash的名字,就用现在的名字就行,以后检测到了变化(我上面说的3种变化),然后再重新给文件添加hash命名。但是相对于 以上3种变化,相对于一个名字不改,内容改变的png,我实在想不出Laya是怎么检测到它的改变的,唯一的解释就是,每次发布,不改三七二十一,全部重新生成。

Aar0n

赞同来自:

这个是对文件有判断的,只有文件变了才会新生成

要回复问题请先

商务合作
商务合作