微信小游戏新版本cocos creator不可以进行代码保护

  • Creator 版本:2.1.14

  • 目标平台: 微信开发者工具

  • 详细报错信息,包含调用堆栈:in libs/engine/downloader.js ‘require’ requires one and only one staticteral

  • 重现方式:微信开发者工具上传代码进行代码保护

  • 之前哪个版本是正常的 :2.1.12

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:

微信小游戏对于对项目代码进行保护,主要是对文件进行扁平化处理并替换 require 引用的文件名,其中动态引用的情况则不可以进行代码保护如 var a = ‘somefile.js’; require(a);
cocos生成的代码中downloader.js中有一行代码 require(url);
会产生错误,上传失败。

你这个问题在开发者工具可以复现吗?还是要真机发布才行?虽然这个代码没有符合微信小游戏的规范,但是我本地测试并不影响运行和上传。

关键是2.2最新版 在开发者工具里 勾选ES6转ES5或者代码保护都报错,两个错误类型不一样,报错位置都是引擎打包生成的引擎代码。

目前 CocosCreator 加载用户脚本需要依赖动态 require,所以暂时没有办法解决。

下个版本可以支持在小游戏上静态加载脚本

1赞