首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在angular2中使用aws

在angular2中使用aws
EN

Stack Overflow用户
提问于 2016-05-05 01:55:28
回答 4查看 22.7K关注 0票数 18

我正在尝试让我的Angular2应用程序允许我在我的s3帐户上读写一个s3桶。

AngularJS (和大多数其他东西)中,我们使用了aws-sdk,所以我假设同样的事情也可以用于Angular2

不过,我遇到的问题是如何将aws-sdk正确导入到我的项目中。

我是通过npm install aws-sdk安装的

我试着用

代码语言:javascript
运行
复制
import * as AWS from 'aws-sdk/dist/aws-sdk',
import * as AWS from 'aws-sdk',
import AWS from 'aws-sdk'
import AWS from 'aws-sdk/dist/aws-sdk'

但它一直告诉我这个模块不存在。

我的项目是以安古拉2号种子为基础的。

我还试图使用DefinitleyTyped安装输入文件,但也失败了。

我不确定我是否需要为它的工作添加其他的东西。

另外,我用的是打字本

谢谢你的时间和帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-05-05 02:13:41

但它一直告诉我这个模块不存在。

将TypeScript和aws更新为最新版本。在您的tsconfig中,确保您有moduleResolution: node。现在您可以简单地做:

代码语言:javascript
运行
复制
import * as AWS from 'aws-sdk';
票数 13
EN

Stack Overflow用户

发布于 2016-05-05 02:25:57

来自NPM上的aws文档(https://www.npmjs.com/package/aws-sdk)

与TypeScript一起使用

AWS用于JavaScript,它将TypeScript定义文件捆绑在TypeScript项目中,并支持可以读取.d.ts文件的工具。我们的目标是使这些TypeScript定义文件与任何公共api的每个版本一起更新。

在您开始在项目中使用这些TypeScript定义之前,您需要确保项目满足以下几个需求:

使用TypeScript v2.x

包括节点的TypeScript定义。您可以通过在终端窗口中键入以下内容来使用npm来安装:

代码语言:javascript
运行
复制
npm install --save-dev @types/node

您的tsconfig.jsonjsconfig.json包括compilerOptions.lib下的“dom”和“es2015”。有关示例,请参见tsconfig.json

浏览器中的()

若要将TypeScript定义文件与前端项目中的全局AWS对象一起使用,请将以下一行添加到您打算使用的JavaScript或类型记录文件的顶部,或将其添加到tsconfig‘type’或声明文件中:

代码语言:javascript
运行
复制
/// <reference types="aws-sdk" /> 

这将为全局AWS对象提供支持。

先前的答案

我发现如果我加上

代码语言:javascript
运行
复制
{ src: 'aws-sdk/dist/aws-sdk', inject: 'libs' } 

到additional_deps中的project.config.ts (如果您使用angular2种子)或只添加

代码语言:javascript
运行
复制
<script src="/node_modules/aws-sdk/dist/aws-sdk.js"></script>

到你的index.html上,然后我可以添加

代码语言:javascript
运行
复制
declare const AWS: any;

对于我需要的任何.ts文件,我都可以访问AWS对象。然而,不确定这是否是一个好的解决方案。

票数 9
EN

Stack Overflow用户

发布于 2019-10-30 15:04:49

1)请更新/src/polyfills.ts,添加:

代码语言:javascript
运行
复制
// aws-sdk requires global to exist
(window as any).global = window;

2)然后用以下内容更新位于compilerOptions中的/src/tsconfig.app.json对象:

代码语言:javascript
运行
复制
"types": ["node"]

3)安装aws:

代码语言:javascript
运行
复制
npm install aws-sdk

4)现在您应该能够在*.ts文件中使用AWS:

代码语言:javascript
运行
复制
    import * as AWS from 'aws-sdk';
    ...
    export class YourComponent implements OnInit {
      constructor() { }

      ngOnInit() {
      }

      doSmthingWithAwsSdk(){
         AWS.config.credentials = new AWS.Credentials(accessKeyId, secretAccessKey, sessionToken);
         AWS.config.region = region;
         // do something
      }
     ...
    }

5) 不要硬编码您的凭据,请查看在Web浏览器中设置凭据以获得更多信息,谢谢

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37041049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档