Angular 11 路由在 AWS S3 和 Cloudfront 中不起作用

Posted

技术标签:

【中文标题】Angular 11 路由在 AWS S3 和 Cloudfront 中不起作用【英文标题】:Angular 11 routing not working in AWS S3 and Cloudfront 【发布时间】:2021-09-08 20:14:34 【问题描述】:

我正在尝试使用 Cloudfront 和 S3 托管我的 Angular 11 应用程序。但是,路由似乎不起作用。

例如:abc.cloudfront.net/home 它最终寻找主文件。附件是一些可能有帮助的屏幕截图。

【问题讨论】:

应该有类似“错误文件”的东西。把'index.html'放在那里,它应该可以工作 我已经在我的存储桶中添加了,我已经更新了我的截图。似乎它正在尝试查找主文件。这本质上是路径。 这是正确的行为,因为您实际上是在请求一个名为“/home”的对象。 为什么不用 Angular 路由器处理这个问题? 因为没有 angular,直到你加载了 index.html 和 angular 库和你的应用程序 【参考方案1】:

我终于解决了,我不得不将我的构建命令更改为:ng build --prod --aot=false --output-hashing=media --sourceMap=true --extract-css=false --buildOptimizer =假。

【讨论】:

如果它适合你 - 太好了;但这些开关与你描述的路由问题无关 这就是我无法弄清楚的。不应该是真的吗?有点想知道为什么 ng build --prod 不起作用,但确实如此。

以上是关于Angular 11 路由在 AWS S3 和 Cloudfront 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在云端路由 S3、EC2、aws

Angular 10 + AWS S3 + Cloudfront:没有哈希的导航

在AWS s3中保存图像

通过 ACM 和负载均衡器为 aws Nodejs 弹性 beanstalk 设置了 HTTPS,我如何在 s3 存储桶中为 Angular 设置 HTTPS

Vue.js 路由器:历史模式和 AWS S3 (RoutingRules)

如何让 AWS S3 存储桶中的 Angular 应用程序对 AWS Elastic Beanstalk 中的服务进行 API 调用