问题描述
我们有一个Angular 10应用程序,每次我们部署到AWS时,甚至在DEV环境中(在ngnix之上),我们都需要清理缓存(CTRL + F5,可以解决此问题)。我们已经在Angular项目中尝试了下一个Meta标签:
我们尝试过的另一种想法是通过部署交替哈希文件名。一次不进行哈希处理,而下一次进行哈希处理。例如:
6-es5.js -> changes to -> 6-es5.b0d27b410e5c019afd47.js
在AWS S3(通过Amazon Cloudfront)中,我们尝试设置
Minimum TTL 0
Maximum TTL 0
Default TTL 0
我们现在不知道还有什么其他的想法可能可行,或者我们做错了什么。任何想法都会有所帮助。谢谢大家!
更新编辑:
没有像我在所有组件中所说的那样添加Meta标签。我们已经将它添加到index.html(我们错过了将它们包含在此文件中)的功能,现在它可以按预期运行,但是现在还不确定它是否只是暂时的解决方案。
解决方法
您可以执行以下步骤:
- 直接将构建文件夹部署到S3存储桶。
- 不需要缓存
index.html
文件 - 无论何时将构建部署或上载到S3,请执行以下步骤
- 转到云端
- 使对象无效
- 创建条目/ *
对于连续部署,您可以使用boto3
的aws编写脚本,以在文件夹成功上传后自动使缓存无效。