2017-01-02 5 views
0

Я пытался использовать AWS SDK и получил эту ошибку сборки машинописи в совершенно новом angular2 Cli проекта после того, как пройдя по ссылке официального AWS-SDk (https://www.npmjs.com/package/aws-sdk)AWS SDK не может быть передан в угловом-кли проекта

ERROR in ./src/app/service/aws.service.ts 
Module build failed: Error: /Users/slin/pan/protego/crossbow/src/app/service/aws.service.ts (26,13): Argument of type '{ region: string; accessKeyId: string; secretAccessKey: string; }' is not assignable to parameter of type 'ConfigurationOptions & ConfigurationServicePlaceholders & APIVersions'. 
    Object literal may only specify known properties, and 'accessKeyId' does not exist in type 'ConfigurationOptions & ConfigurationServicePlaceholders & APIVersions'.) 
    at _checkDiagnostics (/Users/slin/pan/protego/crossbow/node_modules/@ngtools/webpack/src/loader.js:116:15) 
    at /Users/slin/pan/protego/crossbow/node_modules/@ngtools/webpack/src/loader.js:141:17 
    at tryCatch (/Users/slin/pan/protego/crossbow/node_modules/es6-promise/dist/es6-promise.js:410:12) 
    at invokeCallback (/Users/slin/pan/protego/crossbow/node_modules/es6-promise/dist/es6-promise.js:425:13) 
    at publish (/Users/slin/pan/protego/crossbow/node_modules/es6-promise/dist/es6-promise.js:393:7) 
    at flush (/Users/slin/pan/protego/crossbow/node_modules/es6-promise/dist/es6-promise.js:121:5) 
    at nextTickCallbackWith0Args (node.js:415:9) 
    at process._tickCallback (node.js:344:13) 
@ ./src/app/app.module.ts 17:0-51 
@ ./src/main.ts 
@ multi main 

Мой код просто просто:

import { Injectable } from "@angular/core"; 
import * as AWS from 'aws-sdk'; 

@Injectable() 
export class AwsService { 
    loggedin: boolean; 
    aws_accessKeyId: string; 
    aws_secretAccessKey: string; 
    aws_region: string; 

    constructor() { 
     this.loggedin = false; 
     this.aws_region = 'us-west-2'; 
    } 

    login(
    ) { 
     AWS.config.update({ 
      region: this.aws_region, 
      accessKeyId: this.aws_accessKeyId, 
      secretAccessKey: this.aws_secretAccessKey 
     }); 
     this.loggedin = true; 
     console.log(this.aws_accessKeyId, this.aws_secretAccessKey); 
    } 
} 

ли AWS-настоящему работает SDK для машинописи? Или я пропустил некоторые настройки для проекта angular2-cli? Может ли проблема aws-sdk не поддерживать es6?

Любая помощь приветствуется!

ответ

1

Хорошо, я нашел свою проблему. Он работает на самом деле только после инструкции по угловому cli. Моя проблема заключается в том, что последний API был изменен, но они еще не обновили свой api-документ.

Символ^2.7.11 синтаксис должен быть:

AWS.config.update({ 
     region: this.aws_region, 
     credentials: { 
      accessKeyId: this.aws_accessKeyId, 
      secretAccessKey: this.aws_secretAccessKey 
     } 
    });