- Creator 版本:1.8.1
最近一个项目打算用Creator+TypeScript,遇到不少问题。
首先用引导创建的typescript项目是会报错的,在高人指点下发现官方生成的creator.d.ts里面居然有乱码,呵呵。当然,通过creator生成的Component代码模板也是有编译错误的,呵呵呵。
-
目标平台: Web
-
详细报错信息,包含调用堆栈: oog is not defined (oog是代码里定义的一个module)
以前用过egret,过程非常顺畅,所以typescript给我的印象是简单易用的,我的使用方式如下:
module oog {
export class Class1 {
}
export class Class2 {
}
}
我把某个的模块下的多个类定义放在多个文件中,这些文件的开头都是 “module oog”,然后在scene里挂载的脚本里调用 oog.Class1 即报 oog is not defined 的错误。(没提示编译错误,我认为这是编译通过了。不过我试过故意在ts文件写一些不合法代码,例如写一个不存在的变量,回到cocos creator也不会提示编译错误,再次呵呵)。
我知道如果不使用module,每个Class都用export default定义,然后在引用的地方import上名字和路径是不会出这个运行时错误的,但是这样要做额外的事情,而且对重构路径不友好。
不知道有没办法像egret那样用module组织代码。另吐槽一下,typescript在creator的支持实在是太弱,老拿这种半成品出来,给人感觉这真的很cocos2d。