javascript - 在 Angular 2 应用程序中导入 AWS SDK

标签 javascript aws-sdk angular2-services

我试图在我的 Angular 2 应用程序中使用 AWS SDK,但遇到了困难。以下是我采取的步骤:

  1. 使用 npm install aws-sdk 将 aws sdk 安装到我的 Angular 2 应用程序中
  2. 使用 npm install --save-dev @types/node 安装类型
  3. 尝试以多种不同方式在我的 Angular 2 服务中包含 AWS 模块:declare var AWS: any;, import AWS = require('aws-sdk');,最后 import * as AWS from 'aws-sdk';

当我尝试使用第一种和第三种类型的导入时,直到我尝试访问 AWS 对象中的一个库时,我才收到编译器错误,即 AWS.config.region = 'us-west -2 给我错误 ';'预期。。当我尝试使用第二种方法时,出现错误:

Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.)

我错过了一步吗?我看过 github 项目 https://github.com/awslabs/aws-cognito-angular2-quickstart/blob/master/src/app/service/aws.service.ts但他们的项目没有解释他们是如何导入 SDK 的。

最佳答案

你需要:

npm install aws-sdk -S

然后确保你安装了这个类型(如果你不确定,那么就运行下面的代码):

npm install --save-dev @types/node

现在在您的 src 文件夹中,您会找到 tsconfig.app.ts(确保不要与根目录下的 tsconfig.ts 混淆)。

types 行是空的,在编辑之前看起来像这样:"types": []。你需要编辑它。 添加 "types": ["node"]:

后,tsconfig.app.ts 应该如下所示
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
  "outDir": "../out-tsc/app",
  "module": "es2015",
  "baseUrl": "",
  "types": ["node"]
},
"exclude": [
  "test.ts",
  "**/*.spec.ts"
  ]
}

现在你可以

import * as AWS from 'aws-sdk';

关于javascript - 在 Angular 2 应用程序中导入 AWS SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43834304/

相关文章:

javascript - 谷歌地图全高风格angularjs

amazon-web-services - 在 AWS s3 中,我可以获得使用我存储的最后一个标记写入的最新文件吗?

javascript - 如何限制输入文本框只能以 Angular2 形式输入数字?

javascript - 在 for 循环中调用 Function.prototype.call.apply

javascript - 如何构建更好的 React 列表容器组件?

函数外的javascript变量(使用异步/等待)?

java - Kinesis 工作人员错误 : Caught exception when initializing LeaseCoordinator

android - AWS auth ui sdk 需要 minSdkVersion 23,为什么?

angular - Angular 2 中 EventEmitter.next() 和 EventEmitter.emit() 的区别

dart - Angular 2 Dart 中的网络 worker