【问题标题】:Export module from TypeScript definition file从 TypeScript 定义文件中导出模块
【发布时间】:2015-12-05 17:27:51
【问题描述】:

我正在尝试为 Vogels 库创建定义文件。该库封装了 AWS 开发工具包,因此它还包含一个用于导出整个 AWS 开发工具包的属性。

declare module "vogels" {
  import AWS = require('aws-sdk');

  export function define(modelName: String, config: any): void;
  export var AWS: AWS;      /* THIS LINE DOESN'T TRANSPILE */
}

这个库是这样使用的:

import vogels = require('vogels');

vogels.AWS.config.update({region: region});

var model = vogels.define('test', {
  ..
  }
});

不幸的是,从“vogels”模块导出 AWS 属性不起作用,因为 AWS 不被视为一种类型。如何在不复制模块中的整个 AWS 定义的情况下导出 AWS 属性?

【问题讨论】:

    标签: typescript definitelytyped


    【解决方案1】:

    这似乎是导出整个 AWS 模块和 define 函数的方式:

    declare module "vogels" {
      import AWS = require('aws-sdk');
    
      function define(modelName: String, config: any): void;
    
      export = { AWS, define }
    }
    

    一个模块中只能有一个export =,因此所有导出的变量都应该在该行中(当然您可以将其拆分为多行)。不导出其他任何东西,只定义接口、变量……实际导出在后面完成。

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 2017-09-29
      • 2021-11-20
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 2018-11-02
      相关资源
      最近更新 更多