将TypeScript模块视为对象

时间:2013-08-12 06:10:25

标签: typescript amd

嗯,这适用于Typescript 0.8.3,但正如他们在“重大改变”中所说的那样,模块只能用作命名空间。
模块的javascript实现只是另一个对象(闭包)。那么,有没有办法能够将导入的模块视为TypeScript中的对象?

以下是一个例子:

//Module.ts
export function SomeFunc(){
}

//app.ts
import moduleA = require("Module")
var anotherRef = moduleA;           //this is caught as error!

使用TypeScript 0.8.3我可以将anotherRef传递给任何方法甚至Knockout绑定以使用模块引用。但是打字稿0.9.x阻止了这一点。

感谢

1 个答案:

答案 0 :(得分:0)

这在TS 0.9.0-1中对我来说很好。您提到的限制是内部模块,它不会影响您拥有的外部模块(amd / commonjs)。即它仅适用于使用module关键字定义的模块:

module SomeMod{
    export var foo = 123;  
}