【问题标题】:Deploy Angular 2 app on AWS S3在 AWS S3 上部署 Angular 2 应用程序
【发布时间】:2017-04-14 19:34:11
【问题描述】:

如何在aws s3 上部署Angular 2 应用程序?我只需要上传 src 文件夹还是 node_modules ?我的代码有什么需要做的吗?

我有aws 面板通过浏览上传文件。请帮我继续。

【问题讨论】:

    标签: angular amazon-s3


    【解决方案1】:

    其他人看到这个问题 -> 首先看到这个:How to bundle an Angular app for production 它基本上说要运行

    ng build --prod --aot
    

    之后,只需将您的 dist 文件夹上传到在存储桶的属性选项卡中启用了“静态 Web 托管”的 S3 存储桶 + 给它一个存储桶策略,让每个人都可以从中获取类似于:

    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "<your-bucket-arn>/*"
        }
     ]
    }
    

    Jeeten Parmar 的回答也帮助了我 - 用 routerLink 替换 href 是我需要做的另一件事。

    【讨论】:

    • 我了解如何部署。但是您能否解释一下,如何在 AWS 环境中开发应用程序?我在开发它时根本不需要 AWS 吗?我们是否只是在本地计算机上开发应用程序,然后捆绑并部署它?
    【解决方案2】:

    我解决了这个问题。我使用的是href,这就是它给出 404 错误的原因。我使用了routerLink,它解决了我的问题。

    【讨论】:

      【解决方案3】:

      你是直接使用 webpack 吗?或者也许是 Angular CLI?

      您需要构建到生产环境。当您为生产构建时,上述两个都应该创建一个 dist 文件夹。

      src 文件夹不包含已编译的代码,所以不是这样。而且您不应该上传 node_modules 文件夹。

      【讨论】:

      • 我正在使用Angular CLI。你能告诉我步骤吗?
      • 所以在命令提示符(或任何你正在使用的)中,你需要运行ng build --prod
      • 完成此操作后,您应该会在该项目的根目录中看到一个 /dist 文件夹。然后,您应该将该文件夹的内容拉到您的主机中。我不确定如何为 AWS S3 做到这一点。但也许试试这个link 供您参考,如果您向下滚动主页,Angular CLI 在他们的 github 上有很好的文档。 link
      • 我做到了。它显示404错误。你能检查一下吗:stackoverflow.com/questions/40882432/… 并帮助我。
      • 您的代码库中是否有“%0A”或“%0D”?搜索 dist 文件夹
      猜你喜欢
      • 2014-09-18
      • 2019-11-11
      • 1970-01-01
      • 2018-07-09
      • 2017-06-20
      • 2018-04-21
      • 2017-09-23
      • 2017-02-08
      • 1970-01-01
      相关资源
      最近更新 更多