angular - 将新版本的 Angular App 部署到 AWS S3
问题描述
我目前有一个 Angular APP 部署到 AWS S3/Cloudfront 并且一切正常。
但是,我想知道在不干扰旧版本的情况下部署新版本应用程序的最佳流程是什么(当前使用该应用程序的用户应该仍然可以正常使用它)。
目前,如果我部署一个新版本,用户可能会从模块等加载 Angular 的块时出错。只能通过刷新应用程序来修复,这不太好)。
到处寻找这个,但找不到推荐的方法。
谢谢
解决方案
如果您使用的是 CloudFront:
- 上传您的代码
- 使云端缓存无效
强制使缓存无效的步骤:
选择要使其文件无效的分发。
选择分发设置。
选择无效选项卡。
选择创建失效。
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html 对于您要失效的文件,每行输入一个失效路径。有关指定失效路径的信息,请参阅指定要失效的文件。
https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serving-outdated-content-s3/
在 js/css/images 等内容中进行用户版本控制的另一种方法。
推荐阅读
- android-recyclerview - 如何在回收站视图中准确显示自定义对话框?
- express - 在后端使用“站点地图”模块为站点地图制作路线后,下一步该怎么做才能在前端发现?
- mongodb - MongoDB - $geoNear 和 includeLocs 在同一文档中有多个匹配项
- ios - Xcode 和 swift 加载默认相机视图
- reactjs - MenuBar 中 menuItem 的 React Animation 不起作用
- javascript - 如何使 HTML 按钮连接到 HTML5 Canvas 的 Javascript 函数以使 Spaceship Fire
- spring-boot - Cloud Run:部署 spring docker 镜像导致错误;无法启动并监听 PORT 环境变量定义的端口
- jwt - 保护 webapi 的 Identityserver4 不起作用
- php - 您的文件超过了该网站的最大上传大小:64MB。当我将我的网站本地主机上传到实时服务器时,我会向我展示
- amazon-web-services - AWS 托管服务中的 Apache Storm 替代方案是什么?