Laya实现微信小游戏资源版本控制注意事项(JS版)

确实可以通过以下代码实现开启资源版本控制功能。开启之后,点击Laya发布,发现增加了一个version.json,里面是当前的文件名后面所对应的选中开启版本控制后,生成的带有hash的文件名的映射。

因为这个映射是基于Laya平台的,所以有一些单纯的使用在微信里的图片资源,就不符合这个映射规则了。

所以要想开启资源管理后,继续正常使用之前的文件,自己手动修改这个version.json文件。大概分为以下几种情况。

Laya.ResourceVersion.type = Laya.ResourceVersion.FILENAME_VERSION;
            //加载版本信息文件
        // console.log(RV);   
Laya.ResourceVersion.enable("version.json", Handler.create(this, this.beginLoad));  

1.复合类型文件。

如atlas和与之对应的png文件。

复合类型文件总有其中的一个配置文件里有相关的文件名关联设置,比如xx.atlas里有xx.png的文件名字样,这里就要把该xx.png换成包含hash的文件名。

2.微信API使用的资源。

微信API使用的资源,不走Laya的资源加载流程,所以如果发布时将xx.png改为了xxhash.png,而刚好该png是微信API使用的资源,就会导致找不到该资源。

3.普通资源。

普通资源可直接使用,无需特殊处理。

4.公共域(子域)使用的资源。

公共域使用的资源,不能通过ResourceVersion加载,因为在加载的时候,会报出一个微信API的错误,该API只能在主域里运行,不能再子域中运行,所以要使用没有被hash映射过的源资源文件名。如xx.png而不是xxhash.png.

5.网络资源

要从配置使用网络上的资源,加https://xx.com不能直接使用,在version.json里将https://xx.com/res/xx.png改为https://xx.com/res/xxhash.png也不能使用,正确的格式是。在引用的地方还使用本地的访问格式,如res/xx.png,但是在version.json里关于该资源的映射改为res/xx.png:https://xx.com/res/xxhash.png

猜你喜欢

转载自blog.csdn.net/LightUpHeaven/article/details/80694699