2017-02-14 174 views
1

我创建了一个Angular 2表单,它使用Rest API将表单数据发布到postgres数据库。现在,我想在AWS S3上为我的Angular 2应用程序提供服务。我搜索了这一点,我发现创建一个webpack是一个解决方案,但无法创建一个。我想知道从哪里开始,捆绑我的代码并在s3上提供它。在aws s3服务Angular2应用程序

GitHub的链接形式:https://github.com/aanirudhraj/Angular2form_signaturepad_API

感谢您的帮助!

+0

你能解决这个问题吗? – 2017-03-10 02:50:28

+0

是的,请参阅下面的评论 – Raj

回答

0

的最快方式是使用角CLI来构建应用程序,然后部署“DIST”目录的内容作为在S3静态站点(一个S3桶可以被配置来承载静态站点;确保您将读取权限授予“任何人”以避免http 4xx返回码)。

0

我从您的代码推断出您正在使用angular-cli

  • 创建一个开发/生产建设

    纳克构建--dev/NG构建--prod您dist文件夹将包含捆绑文件部署

  • 内容。你的参考文件的主要文件将是'index.html',因为这会加载你的角度的应用程序。
  • 您需要决定使用哪种服务器来为您的webapp提供服务。
    为了开发目的,当我们做ng serve时,webpack-dev-server被用作静态文件服务器(local development)。我建议应该使用在部署到实际服务器时可以使用的最舒适/经济高效的解决方案。

静态文件服务器

(*)以下的aproach也将让您有一些服务器端代码如果你需要在未来。

0

当你部署你的ng2-app时,你应该使用AOT(提前编译)。 我想你正在使用JIT(及时编译)。

在angular2引导页,

随着AOT,浏览器下载的应用程序的预编译的版本。浏览器加载可执行代码,以便可以立即呈现应用程序,而无需等待先编译应用程序。

当您使用JIT编译时,您的浏览器将下载由angular2编译器定义的vendor.js,它将及时编译您的应用程序。它会太慢,你的客户必须下载供应商文件。当您使用AOT时,您不必使用供应商文件,因此资源正在变小。

我建议您在部署应用程序时使用AOT编译,并使用资源大小的延迟加载。

如果您对ng2 AOT编译感兴趣,请阅读本指南。

angualar2-cookbook-AOT

这里是例子angular2应用与webpack2和延迟加载。

在这里使用文件结构和配置文件。

当我使用示例应用程序进行测试时,捆绑了aot的文件小于500KB。

angular2-webpack2-aot

当您使用AOT与@ ngtools /的WebPack或任何编译,

只是把它与AOT在你的S3存储桶编译的文件dist目录中的所有文件,我建议使用AWS用于您的s3存储桶资源的云端缓存。

0

感谢您的所有答案。所有这些帮助我找到解决方案 我已经使用[GitHub webpack starter]重新创建了我的angular2应用程序:https://github.com/AngularClass/angular2-webpack-starter。 一旦我编译了代码并按照自述文件中提供的说明创建了dist文件夹。我已经将dist的所有内容上传到AWS s3 Bucket并设置了权限。完成!!!!

相关问题