0

我有以下问题:

Pixi 库的 TypeScript 声明存在但似乎已损坏。首先,他们从

declare module PIXI

代替

declare module "PIXI"

我不确定这是否是错误的,但所有其他声明(对于节点、socket.io 等)似乎都使用字符串作为名称。当我将其更改为字符串时,它可以工作,但稍后会遇到错误。在那个 PIXI 模块之外有这个:

declare function requestAnimFrame( animate: PIXI.IBasicCallback );

现在因为我将 PIXI 更改为字符串(我假设),它表示变量 PIXI 不包含名为 IBasicCallback 的类型。该模块确实导出了该类型,但它只是在它之外不可用。在声明文件之外,在我的代码中,我可以很好地使用 PIXI.IBasicCallback,但在同一个文件中它无法识别。

我能做些什么来解决这个问题?

4

2 回答 2

4

内部模块和外部模块(CommonJS/NodeJS,AMD/RequireJS)之间存在差异。"SomeThing"用于外部模块。而内部模块是在没有字符串的情况下声明的。

// Declare a external module 
declare module "Foo"{
    var foo:number; 
    export = foo;
}
// Use 
import a = require("Foo");


// Declare an internal module 
declare module Boo{
    export var boo:string;
}
// usage
var  b = Boo.boo; 

我还制作了一个关于这个主题的视频:http ://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

于 2013-09-12T07:57:20.787 回答
0

似乎有些模块需要你做类似的事情

declare module "pixi" {
    exports = PIXI;
}

手动。将其添加到声明的底部(而不是将原始声明更改为字符串)有效。

于 2013-09-11T16:57:42.683 回答