2015-12-04 9 views
0

Я пытаюсь создать файл определения для библиотеки Vogels. Эта библиотека обертывает AWS SDK, поэтому она также включает свойство, которое экспортирует весь AWS SDK.Экспорт модуля из файла определения TypeScript

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', { 
    .. 
    } 
}); 

К сожалению, экспорт свойство AWS из модуля «Vogels» не работает, потому что AWS не считается типа. Как я могу экспортировать свойство AWS без репликации всех определений AWS в моем модуле?

ответ

2

Это, кажется, способ экспортировать весь модуль AWS и функция define:

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

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

    export = { AWS, define } 
} 

Вы можете иметь только в модуле один export =, поэтому все экспортируемые переменные должны быть в этой строке (из конечно, вы можете разделить его на несколько строк). Не экспортируйте ничего, но только определите интерфейсы, переменные, ... Фактический экспорт будет выполнен позже.

Смежные вопросы