2016-03-02 110 views
0

如何获取对模块声明中另一个模块的引用?请看下面的例子:在类型声明中引用模块

declare module "meteor/meteor" { 
    export module Meteor { 
    ... 
    enum StatusEnum { 
     connected, 
     connecting, 
     failed, 
     waiting, 
     offline 
    } 
    ... 
    } 
} 

declare module "meteor/ddp" { 
    export module DDP { 

    interface DDPStatus { 
     ... 
     status: Meteor.StatusEnum; // HOW DO I GET REFERENCE TO THE METEOR MODULE? 
    } 
} 

感谢您的任何帮助。

回答

0

//如何获得气体模块的参考?

只要像你一样使用导入。 :

declare module "meteor/ddp" { 

    // Import 
    import Meteor = require("meteor"); 

    export module DDP { 

    interface DDPStatus { 
     ... 
     status: Meteor.StatusEnum; 
    } 
} 
+0

谢谢!实际上,它甚至与ES6语法一起工作:从“流星”导入流星。 – tomitrescak

+0

@tomitrescak你可能应该把它当作'流星'的流星*作为流星'\t – basarat

+0

另一件事。我如何在不属于任何模块的应用程序声明文件中执行此操作?我有点迷失在这里。例如我有一个接口'声明接口IContext流星:流星; }'我怎样才能得到那颗流星的参考?我会问另一个问题。会更干净。 – tomitrescak