繁体   English   中英

如何使用亚马逊s3服务角2

[英]How to serve angular 2 using amazon s3

是否可以使用amazon s3来提供角度2 app而无需使用专用服务器。 如果是这样怎么办?

是的,您可以将应用程序部署到AmazonS3,但不应直接从Amazon S3提供: S3是存储服务,而不是分发服务 这就是为什么您应该为S3存储桶创建CloudFront分配。

脚步:

  1. 使用npm run build --prod构建你的应用npm run build --prod (小心包括--prod选项!)

  2. 为您的Amazon S3存储桶创建CloudFront分配,并将您的Default Root Object设置为index.html

  3. 如果您使用url重写而不是哈希策略(您的路径看起来像http://yourwebsite/login而不是http://yourwebsite/#/login使用以下内容为您的CloudFront分配创建自定义错误响应:

    • HTTP错误代码:404

    • 错误缓存最小TTL(秒):0

    • 自定义错误响应:是的
    • 响应页面路径:/index.html
    • HTTP响应代码:200

将应用程序部署到CloudFront上的Invalidate index.html时,您还需要小心,否则旧版本将被缓存并将提供给客户端。

按照我的指南了解更多详情

有可能的。 但是你应该使用webpack

配置应用程序以使用webpack后,您可以npm run build并将处理后的文件作为静态网站上载到S3

不,没有专用服务器就无法使用amazon s3运行angular2。 根据Angular2 Docs ,您至少需要很少的服务器来运行这些文件。 你可以做的是在E3或ESB上运行NodeJs服务器,并在那里部署你的angular2应用程序。

感谢@Gunter指出 - 没有额外的命令行参数就无法做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM