移植 ts 版本的 sproto 到 cocos creator,遇到 tsc 编译后的js 与 cocos creator 编译的后的 js文件不一样

  • Creator 版本:2.1.0

  • 目标平台: Web

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

  • 重现方式:打开编辑器

  • 之前哪个版本是正常的 : 新项目直接使用的2.1.0

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

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

  • 出现概率:100%

  • 额外线索:

项目需要使用sproto 从原 某鹭 项目中剥离了sproto模块出来到 cocos creator后。
使用 cocos creator 2.1.0打开项目发现报错。

load script [H:\xiuzhenclient\client\temp\quick-scripts\assets\Script\sproto\Spackage.js] failed : ReferenceError: SprotoTypeBase is not defined
展开报错提示为39行

查阅对比后发现 tsc 生成的js 代码 和 cocos creator 生成的js 代码有差异

下图为cocos creator 生成的js代码

下图为 tsc 生成的代码

另外 一点问题:
使用cocos creator2.1 新建的项目 其jsconfig 中配置的 complieTarget = ES6
而我使用 cocos creator 2.1导出vscode 工作流后 生成的 tsconfig 中配置的是 ES5
不知这是否算是bug
我重新修改 jsocnfig 与 tsconfig 中的配置一致 得到的代码还是有这一行的差异。

如下为项目为完整项目工程
xiuzhenclient.zip (487.9 KB)