【问题标题】:Angular | Partially import aws-sdk in typescript角 |在打字稿中部分导入 aws-sdk
【发布时间】:2019-12-17 12:41:55
【问题描述】:

我在我的 Angular 应用程序中使用 aws-sdk。 捆绑包非常大,我只使用了库的一小部分:

问题:有没有办法只部分导入 aws-sdk?

请注意:

  • 我不能使用'customize & download',因为我使用的是 Amplify(它具有 aws-sdk 作为依赖项)
  • 我目前通过以下方式导入 AWS:import * as AWS from 'aws-sdk';
  • 我只使用 Cognito、S3、Lambda、DynamoDB 和 IoT Core

【问题讨论】:

  • 您是如何生成该图像的?

标签: angular typescript amazon-web-services aws-amplify


【解决方案1】:

从文档中,您可以像这样导入 AWS 开发工具包的各个部分:

// import individual service
import S3 from 'aws-sdk/clients/s3';

您需要查阅文档/类型定义以查看您想要的确切名称。

避免导入整个“aws-sdk”包,因为它不会被树震动

【讨论】:

    【解决方案2】:

    在我的应用程序中,我只使用 S3。我设法减少了捆绑包的大小,如下所示:

    import AWS from 'aws-sdk/global';
    import S3 from 'aws-sdk/clients/s3';
    
    //Here is an example of code used to perform file upload.
    
    AWS.config.update({
        accessKeyId: "YOUR-ACCESS-KEY",
        secretAccessKey: "YOUR-SECRET",
        "region": "us-east-1"  
    }); 
    
    var file = document.getElementById("input-upload").files[0];
    var bucket = new S3({params: {Bucket: 'mybucket'}});
    var params = {Key: 'myfolder', ContentType: file.type, Body: file};
    
    bucket.upload(params);
    

    【讨论】:

      猜你喜欢
      • 2017-05-29
      • 2016-08-28
      • 2017-03-11
      • 2018-09-01
      • 2019-03-25
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      相关资源
      最近更新 更多