Angular 5 为 AWS EC2 创建应用程序源包

Angular 5 Create an Application Source Bundle for AWS EC2

在 AWS Elastic Beanstalk 中,有一个用于部署 node.js 应用程序的向导流程。当我到达 "upload your own" 应用程序源的步骤时,它以通用术语描述了它们的 3 个要求:zip 文件,小于 500MG,没有父文件夹。 但他们停在那里。没有细节。 我退学到 bash 和 运行...

ng build --prod

...现在有一个 dist 文件夹。那么...我在 zip 文件中包含什么以及在什么文件夹级别?我试过 /dist,还有 /myapp/dist,它包括 /myapp 中的所有其他松散文件,但没有其他子文件夹,例如 /src。我浏览了整个网络,但没有看到关于为 AWS EC2 压缩应用程序源包的相当简单的教程。

上传的 zip 文件中应该包含什么?

我上面问题中的主要错误是试图 运行 我的 Angular 5 应用程序在 AWS 中使用他们选择的 node.js 作为我的服务器平台。这是我学到的东西(在 Albert Haff 等人的帮助下:Angular 5 在您编写代码时使用 Node (ng serve) 来模拟网络服务器。但是,即使有一个受支持的标志 -- prod,它不能用于生产!通过 Beanstalk 部署 Angular 5 应用程序时,将 select node.js 作为环境真的很容易(也很诱人)——但不要这样做它!

  1. 在您的 Angular 5 项目文件夹中,运行 ng build --prod(并考虑添加 --aot)
  2. 如果可以,从构建刚刚创建(或更新)的新 /dist 文件夹中,可选择 运行 压缩,如 for i in dist/*; do brotli $i; done
  3. 从 /dist 文件夹中压缩所有内容,包括子文件夹。
  4. 转到 beanstalk,并在创建网络服务器环境时,select Tomcat(或任何其他普通的旧网络服务器,但不要选择 node.js,即使它在列出!)。
  5. 在应用程序代码上,select 上传您自己的代码,然后浏览到您在上面第 3 步中创建的 .zip 文件。
  6. 单击“创建环境”,几分钟后您的 Angular 5 应用程序将在互联网上提供服务。

现在,您可能需要从这里连接您的域名。为此使用 Route 53。