【发布时间】:2015-05-17 23:53:11
【问题描述】:
大约 4 个月前,我在 TypeScript 1.3 中使用 CreateJS 开始了我的项目。问题出现在 1 月份 TypeScript 1.4 发布之后。我当然必须下载新的 DefinitlyTyped 库(来自 NuGet)。我的项目被破坏了——如果不是事实,我会接受,即使在新项目中它也不起作用。 *.d.ts 文件无法编译项目。它发生在ECMAScript 5 和ECMAScript 6 版本中。
我发现 SoundJS 定义包含无法加载项目的最多错误,我摆脱了它。但即便如此,我还是收到以下错误:
GameData.mapStage.canvas.width
Error 1 Property 'width' does not exist on type 'Object | HTMLCanvasElement'.
而且我必须编写类似的东西才能使用该属性:
(<HTMLCanvasElement>(GameData.mapStage.canvas)).width
Resharper 认为 <HTMLCanvasElement> 是多余的,因为 canvas 总是 HTMLCanvasElement 女巫是真的,但 TypeScript 需要这种转换。
解决方法也是easeljs.d.ts修改,来自:
canvas: HTMLCanvasElement | Object;
到
canvas: HTMLCanvasElement;
现在使用 TypeScript 1.4 和 CreateJS 的唯一方法是不下载 createjs.TypeScript.DefinitelyTyped 包,而是单独下载 easeljs、tweenjs 和 preloadjs 类型定义包。 不支持SoundsJS...
我已经等了 2 个月,希望新的 TypeDefinition 会出现,但那没有发生。 CreateJS 不再支持新的 TypeScript 版本了吗?
【问题讨论】:
-
也许@gskinner 对这个问题有所了解?
标签: typescript createjs typescript1.4