是否可以在不使用专用服务器的情况下使用 amazon s3 为 angular 2 应用程序提供服务。如果是,如何进行?
最佳答案
是的,您可以将应用程序部署到 AmazonS3,但您不应该直接从 Amazon S3 提供它:S3 是一种存储服务,而不是分发服务。这就是您应该为 S3 存储桶创建 CloudFront 分配的原因。
步骤:
使用
npm run build --prod
构建您的应用(小心包含--prod
选项!)为您的 Amazon S3 存储桶创建 CloudFront 分配并将您的
默认根对象
设置为index.html
如果您使用 url 重写而不是哈希策略(您的路径看起来像
http://yourwebsite/login
而不是http://yourwebsite/#/login
使用以下内容为您的 CloudFront 分配创建自定义错误响应:HTTP 错误代码:404
错误缓存最小 TTL(秒):0
- 自定义错误响应:是
- 响应页面路径:/index.html
- HTTP 响应代码:200
当您将应用程序部署到 CloudFront 上的 Invalidate index.html 时,您还需要小心,否则旧版本将被缓存并提供给客户端。
关于amazon-s3 - 如何使用亚马逊 s3 服务 angular 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38433205/