先确认一下是否是如下原因导致
使用
URL.basePath
方法后,再使用load加载本地路径,都会自动加上URL.basePath里的网址。这样就实现了本地与网络加载的结合。
这样就结束了吗?并没有!按刚刚的写法,
res/layabox.png
明明已经上传到微信小游戏的本地目录,但是如果在使用
URL.basePath
之后,再次加载
res/layabox.png
并不会从本地加载使用,而是从网络动态加载使用。这并不是我们要的结果。
所以,引擎针对使用
URL.basePath
之后,如何再次使用本地加载,进行了
特殊目录和文件的处理,也就是本地包白名单机制。如下例所示:
[*][code]MiniAdpter.nativefiles = [[/code][/*]
[*][code]"wxlocal",[/code][/*]
[*][code]"res/atlas/houzi.atlas",[/code][/*]
[*][code]"res/atlas/houzi.png",[/code][/*]
[*][code]"common/tishi.png",[/code][/*]
[*][code]"common/bg.png",[/code][/*]
[*][code]"ui.json",[/code][/*]
[*][code]"newLb/bg031.png"[/code][/*]
[*][code]];[/code][/*]
只要是MiniAdpter.nativefiles里存在的目录名或文件,引擎会自动将该目录视为本地目录,即便使用了URL.basePath,对于包含在nativefiles白名单内的目录名或文件,都不会从网络动态加载,只会从本地加载。