Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从TypeScript定义文件导出模块_Typescript_Definitelytyped - Fatal编程技术网

从TypeScript定义文件导出模块

从TypeScript定义文件导出模块,typescript,definitelytyped,Typescript,Definitelytyped,我正在尝试为Vogels库创建一个定义文件。此库包装了AWS SDK,因此它还包括一个导出整个AWS SDK的属性 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 */ } 此

我正在尝试为Vogels库创建一个定义文件。此库包装了AWS SDK,因此它还包括一个导出整个AWS SDK的属性

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属性?

这似乎是导出整个AWS模块和
define
功能的方法:

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

  function define(modelName: String, config: any): void;

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