在域名下托管 Angular 9 应用程序

时间:2021-03-23 15:36:58

标签: angular

我搜索了很多有关托管 angular 应用程序的答案,我有一个生产构建 angular 包,其中包含如下文件夹:

enter image description here

我碰巧有一个以 www.example.com 作为域的基本托管服务,我能够上传到 public_html 文件夹,并且能够使用 angular 应用程序。 但是 url 有 #,这意味着即使主页也有像 wwww.example.com/#/home 这样的 url 结构,有什么方法可以让我至少显示主页而没有 #/ 类似 wwww.example 的东西。 com 并显示主页。

2 个答案:

答案 0 :(得分:0)

这里有两件事你需要考虑:

  1. 确保您的 Angular 应用程序使用 HTML5 位置策略:https://angular.io/guide/router#locationstrategy-and-browser-url-styles

  2. 确保您的托管环境支持单页应用程序。这意味着所有未映射到物理文件/api 端点或其他资源的路径都应返回相同的 index.html 文件,因为它们将由 Angular 应用在​​客户端处理。

答案 1 :(得分:0)

您已从默认的 PathLocationStrategy 切换到 HashLocationStrategy。还原此内容。

切换回 PathLocationStrategy 后,请确保您的服务器已设置为 SPA 服务;这意味着所有不指向现有资源的路径都应该为您提供 index.html

另外不要忘记指定<base href="/">。当应用在嵌套路径中启动时,这将确保您的路由正常工作。