2.4.0 指定本地JavaScript引擎后,浏览器模式启动报错

  • Creator 版本:2.4.0

  • 目标平台: Web。 (开发环境Win10)

  • 详细报错信息,包含调用堆栈:


    load __quick_compile_engine__: 17261.759033203125ms number.js:3 Uncaught ReferenceError: __quick_compile__ is not defined at eval (eval at <anonymous> (__quick_compile__.js:238), <anonymous>:21:9) at eval (eval at <anonymous> (__quick_compile__.js:238), <anonymous>:25:2) at eval (<anonymous>) at __quick_compile__.js:238 at XMLHttpRequest.xhr.onload (__quick_compile__.js:42)

重现方式:

  1. clone 官方engine工程https://github.com/cocos-creator/engine到本地,切换到 v2.4.0-release 分支
  2. 按照官方文档 https://docs.cocos.com/creator/manual/zh/advanced-topics/engine-customization.html#1-%E5%AE%9A%E5%88%B6-javascript-%E5%BC%95%E6%93%8E 在本地编译引擎
  3. 在Creator中指定本地引擎后重启Creator
  4. 浏览器模式下启动游戏。游戏界面停留在cocos logo页面,浏览器console报错。

其他线索:

  1. 用模拟器模式可以正常启动游戏
  2. 用Cocos Creator2.4.0安装目录自带的engine代码复制出来进行编译,按照上述步骤操作无法复现问题,只有从github clone下的代码有问题。

经过测试,并没有复现你遇到的问题,可以测试下helloworld工程?看是否复现。

helloworld工程稳定复现,我是win10环境


其他人也有遇到

删除项目的 temp 目录,看下是否解决

删除项目的temp目录无效。
但是删除engine的生成目录后重新编译后恢复正常。

我的engine也是从v2.2.2分支切换到v2.4.0的,推测是 gulp build-dev 没有清理干净旧产物导致的。

@huanxinyin本地切换回2.4.0默认引擎再切换到自定义引擎,就会报错。win10,浏览器预览。
每次都需要删除bin目录重新编译一下自定义引擎。

你删除工程下的temp目录,再试试,看下是否正常?

temp目录之前就试过了,没有效果。而且每次切换引擎后都会重新出现这个问题。

这回是2.4.2,自定义引擎启动不了。
Mac环境,engine分支v2.4.2-release,手工清理工程目录的temp,engine目录的bin, node_module重编译都无效。hello world工程能复现。

engine切换到v2.4.1-release后一切正常。


同问 我版本是2.3.4 用自定义引擎基于cocos creator的2.3.3-release 也是同样的问题

你把Show FPS功能关闭了,就会神奇的发现不报错了,我改了engine里面的代码后,把bin.cache的文件夹删除,重启编辑器,一打开Show FPS功能就报ReferenceError not defined了

你是指怎么关


我改了engine里面的代码后,把bin.cache的文件夹删除,重启编辑器,一打开Show FPS功能就报ReferenceError not defined了

兄弟们 我可能发现问题的关键了!!!

2.3 和 2.4 是不一样的,我这边打开默认是2.4,有问题,但换成2.3的就好了

请帮忙看看 build-dev 和build的区别 分别在什么时候用??????

遇到相同的问题,定制引擎2.4.7

清空bin目录重新编译