我有以下问题:
Pixi库的TypeScript声明存在,但似乎已被打破。首先,他们从
开始declare module PIXI
而不是
declare module "PIXI"
我不确定这是不是错了,但所有其他的decarations(对于node,socket.io等)似乎都使用字符串作为名称。当我将其更改为字符串时,它可以工作,但稍后会遇到错误。在那个PIXI模块之外有:
declare function requestAnimFrame( animate: PIXI.IBasicCallback );
现在因为我将PIXI更改为字符串(我假设),它说变量PIXI不包含名为IBasicCallback的类型。该模块确实导出了该类型,但它在它之外是不可用的。在声明文件之外,在我的代码中,我可以正常使用PIXI.IBasicCallback,但是在同一个文件中它无法识别。
我该怎么做才能解决这个问题?
答案 0 :(得分: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
答案 1 :(得分:0)
似乎有些模块要求你做像
这样的事情declare module "pixi" {
exports = PIXI;
}
手动。将其添加到说明的底部(并且不将原始声明更改为字符串)可以正常工作。