0

我正在尝试为meteor-files编写一个定义文件,这是一个 Meteor Atmosphere 包,它公开了一个全局类FilesCollection。我认为我的定义的开头应该是这样的:

declare class FilesCollection extends Mongo.Collection<any> {
    constructor(config?: FilesCollectionConfig)
}

但是,我不确定参考的最佳方式Mongo.Collection。这是 Meteor 定义文件的摘录:

declare module Mongo {
  var Collection: CollectionStatic;
  interface CollectionStatic {
    new < T > (name: string, options ? : {
      connection ? : Object;
      idGeneration ? : string;
      transform ? : Function;
    }): Collection < T > ;
  }
  interface Collection < T > {
    ...
  }
  ...
}

declare module "meteor/mongo" {
  module Mongo {
    var Collection: CollectionStatic;
    interface CollectionStatic {
      new < T > (name: string, options ? : {
        connection ? : Object;
        idGeneration ? : string;
        transform ? : Function;
      }): Collection < T > ;
    }
    interface Collection < T > {
      ...
    }
    ...
  }
}

Mongo.Collection因此,当在我的应用程序中引用其他地方时,我以import { Mongo } from 'meteor/mongo';. 但是,我不确定如何在定义文件中执行相同的操作,因为我无法在全局定义中添加导入语句。

如果我在中添加 Meteor 作为全局依赖项typings.json,上面的内容似乎在我的定义存储库中工作typed-meteor-files。但是,当我typed-meteor-files在我的应用程序中使用时,不会提取来自的附加属性,并且我在导入的定义文件中Mongo.Collection收到错误。Cannot find Mongo我有点迷茫,不知道这样做的正确方法是什么。谢谢!

4

0 回答 0