我试图在我的 Angular 2 应用程序中使用 AWS SDK,但遇到了困难。以下是我采取的步骤:
- 使用
npm install aws-sdk
将 aws sdk 安装到我的 Angular 2 应用程序中 - 使用
npm install --save-dev @types/node
安装类型 - 尝试以多种不同方式在我的 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"]
:
{
"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/