AWS S3和Angular,文件未更新

时间:2019-06-05 21:38:21

标签: angular amazon-s3 deployment

对于产品,我这样做:

ng build --prod

我也一直在使用:

ng build --prod --configuration production

(因为我有一些与prod和dev不同的环境变量)

问题是每次我运行ng build时dist文件都具有相同的名称,如下所示:

每个文件的名称相同。因此,当我进入S3存储桶时,我删除了文件的先前版本,然后上传了新的dist文件,但是我看不到网站上的更改,因为S3缓存了我的文件,因为文件名相同

我该怎么办?

1 个答案:

答案 0 :(得分:4)

我假设您正在使用Amazon Cloud Front进行部署。 CloudFront发行版存在问题。 CloudFront将文件存储在缓存中,这就是为什么您不会立即看到更改的原因。 这是a link的更多详细信息。

解决方案是通过此链接更改缓存设置 https://aws.amazon.com/premiumsupport/knowledge-center/prevent-cloudfront-from-caching-files/

分发中的配置

  1. 打开CloudFront控制台。
  2. 从CloudFront分布列表中,选择要修改的分布。
  3. 选择“行为”标签。
  4. 如果您已经对不希望CloudFront缓存的对象具有缓存行为,请选择该缓存行为并选择Edit。要创建新的缓存行为,请选择“创建行为”。
  5. 在缓存行为的设置中,输入以下内容以防止缓存:
  6. 对于“对象缓存”,选择“自定义”。
  7. 对于“最小TTL”,请输入0。
  8. 对于“最大TTL”,请输入0。
  9. 选择创建以保存所做的更改。