我正在尝试为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属性?
发布于 2015-12-05 17:27:07
这似乎是导出整个AWS模块和define函数的方法:
declare module "vogels" {
import AWS = require('aws-sdk');
function define(modelName: String, config: any): void;
export = { AWS, define }
}一个模块中只能有一个export =,所以所有导出的变量都应该在该行中(当然,您可以将其拆分到多个行中)。不导出任何其他内容,只定义接口、变量……实际的导出将在稍后完成。
https://stackoverflow.com/questions/34099420
复制相似问题