Как использовать определения AWD sdk для TypeScript?
Я пытаюсь написать клиент SES TypeScript, используя файл определений AWS, загруженный из https://github.com/borisyankov/DefinitelyTyped/blob/master/aws-sdk/aws-sdk.d.ts
Вот что я пробовал:
/// <reference path="../typings/aws-sdk.d.ts" />
var AWS = require('aws-sdk');
var ses:SES = new AWS.SES();
Вот ошибка, которую я получаю:
/usr/local/bin/tsc --sourcemap SesTest.ts
SesTest.ts(3,9): error TS2304: Cannot find name 'SES'.
Process finished with exit code 2
Я не могу найти документацию о том, как это сделать. Пожалуйста, помогите!
Ответы
Ответ 1
Изменить на:
import AWS = require('aws-sdk');
var ses:AWS.SES = new AWS.SES();
Примечание: если import
неясно, вы, вероятно, захотите прочитать модули: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
СОВЕТ: всегда хорошая идея увидеть тестовый файл для предполагаемого использования: https://github.com/borisyankov/DefinitelyTyped/blob/master/aws-sdk/aws-sdk-tests.ts
Ответ 2
Я думаю, что более подходящий способ сделать это
import { <ServiceName> } from 'aws-sdk';
например
import { DynamoDB } from 'aws-sdk';
с последующим
this.client = new DynamoDB();
в классе.
Я говорю, что это более уместно, потому что он использует синтаксис импорта TypeScript.
Также здесь есть четкое объяснение - от AWS - как использовать TS с AWS SDK.