0

当我尝试在 github 页面上访问我的 Angular 网站时,会发生奇怪的行为。打开页面后,网址会更改。通过这个 url 检查它。https://youssefsharief.github.io/youtube-trending-videos-per-country-app/

预期的网址是https://youssefsharief.github.io/youtube-trending-videos-per-country-app/

当页面加载时,此 url 将转换为https://youssefsharief.github.io/ 。这个应用程序是由 angular-cli 搭建的。请注意,这是我的构建命令

"build": "ng build --prod --base-href youtube-trending-videos-per-country-app --output-path docs"
4

1 回答 1

0

奇怪的是,您使用一个 URL“到达”站点并继续使用不同的 URL 导航应用程序。希望这个答案能够解释 GitHub 站点上 URL 的动态特性。

这与 Angular 无关——它是一个 Web 服务器(Jekyll)的东西。

GitHub 使用 Jekyll 提供存储库中的内容。GitHub 使用Jekyll 相对链接插件来管理您网站上的相对链接。这样做是为了处理可以到达 GitHub 上的 URL 的各种方式。

以下文章解释了 Jekyll 的工作原理。虽然它没有提到 Angular 并且指的是配置yaml文件。它仍然应该阐明您的 Angular 应用程序 URL 是如何遵循这些规则的:

http://downtothewire.io/2015/08/15/configuring-jekyll-for-user-and-project-github-pages/

但是您没有提供任何此配置,您只是在生产模式下部署了您的应用程序。是的,所以 GitHub 会根据您的<base href>属性值自动重写您的相对 URL - 并且您的网站可以正常工作(除了那个奇怪的条目 URL)。

<base>您可以通过更改标签属性值来试验这些规则href,但请注意,单个斜杠“/”对于 Jekyll 来说是模棱两可的。

于 2018-03-10T16:51:35.733 回答