项目在2.4.3版本微信小游戏上无法引入项目的代码文件

用2.4.3引擎新建的Demo项目源码

NewProjectTest.zip (246.3 KB)

  • Creator 版本:2.4.3

  • 目标平台: 微信小游戏开发工具

  • 重现方式:构建后在开发者工具上运行

  • 首个报错:

  • 之前哪个版本是正常的:2.4.2
  • 编辑器操作系统: mac OSX 10.15.6
  • 重现概率:100%

Demo项目说明:

1、项目包含package插件工程,工程中有runtime-resource(包含一个js插件脚本)。
2、将resources设置为微信分包,resources里面有一个脚本依赖了resources外的一个普通类。
3、在游戏场景运行的时候动态加载并显示了resources里面的一个预制体。

出现的问题:

1、构建微信小游戏后,插件的runtime-resource里面的插件脚本无法加载到,看了ccRequire.js里面生成的路径不对。


2、手动修改了ccRequire里面的路径后,发现项目里面的文件也无法引用到。(2.4.2版本正常,看了下是main.js的实现不一样)

项目在web上完全正常

现在2.4使用了asset bundle后确实有这个问题了,resources被设置成一个独立的包了。
包里面的代码如果引入其他包的代码的话, 都可能出现问题, 特别是 resources 包里面的代码最好不要引入外面的代码。因为发布后 resources 是在main包,前面加载, 那个时候外面还没有被引入的代码引用, 所以会直接报错。在调试的时候可能是正常的。
所以 resources 里面最好别放入代码了, 这个包加载顺序你是无法控制的

我试了下2.4.2在resources里面引用外部代码没有问题。。然后就是插件脚本路径的问题

最新的调整了默认包的加载顺序