【发布时间】:2017-01-03 04:25:07
【问题描述】:
我尝试使用 aws sdk 并在遵循官方 aws-sdk 链接 (https://www.npmjs.com/package/aws-sdk) 后在一个全新的 angular2 cli 项目中遇到了这个 typescript 构建错误
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 真的适用于 typescript 吗?还是我错过了 angular2-cli 项目的一些设置?这是 aws-sdk 不支持 es6 的问题吗?
感谢任何帮助!
【问题讨论】:
标签: angular aws-sdk angular-cli