有没有办法在TypeScript模块中访问“导出”对象?

Is there a way to access "exports" object in TypeScript modules?

提问人:Bakhshi 提问时间:5/15/2013 更新时间:5/15/2013 访问量:3282

问:

我正在尝试使用 durandal,我需要通过传递当前模块来使用。我的问题是,当我使用 TypeScript 时,Typescript 代码似乎无法访问从 AMD 模块返回的底层对象:getModuleId

export function checkModule(){
       var a = system.getModuleId(??);
}

编译后的 TS 将转换为:

function checkModule(){
     var a = system.getModule(??);
}
exports.checkModule = checkModule;

而不是我需要传递在编译的 TS 中定义的对象。 有没有办法做到这一点,或者有一种更简单的方法? 谢谢??exports

打字稿 杜兰达尔

评论


答:

0赞 Bakhshi 5/15/2013 #1

好吧,有一种方法可以在第一次调用模块的方法时缓存:thisactivate

var _thisModule :any;
export function activate(){
       _thisModule = this;
       ....
}
8赞 basarat 5/15/2013 #2

以下是我使用的。你是说“那里有一个出口变量”......嗯,有:)

declare var exports; 
var thisModule = exports; 

评论

1赞 Bakhshi 5/15/2013
医 管 局!我把这个标记为答案,因为它比我的更像 TS-ish。谢谢@BASarat
0赞 Rico Suter 5/14/2015
有没有办法让 exports 变量正确键入并且任何?
0赞 basarat 5/14/2015
declare var exports:any<我不确定你在问什么,不过:)