在我的项目中运行Angular 7 CLI会中断子路径的导航,需要帮助

问题描述 投票:2回答:1

要清楚,这不是一个错误,这是一个我无意中破坏的项目,我不知道何时或如何,并需要帮助排除故障。

在我的项目中运行ng --version

Angular CLI: 7.3.4
Node: 10.14.1
OS: darwin x64
Angular: 7.2.7

运行ng serve时,应用程序在浏览器中加载OK:

http://localhost:4200

在根目录下手动加载路径时,在以下位置加载OK:

http://localhost:4200/page

当通过应用程序内的链接导航到正在运行的应用程序的子路径from a root path时,加载OK:

http://localhost:4200/page/sub/path

但是,尝试以下列任何方式加载后续子路径时:

•在浏览器中刷新视图中的现有子路径

•尝试在子路径上手动输入和加载URL

•查看子路径时由CLI触发的实时重新加载

http://localhost:4200/page/sub/path

错误地,应用程序尝试相对于子路径加载所有js文件,因此失败。该应用尝试在此处加载runtime.js

http://localhost:4200/page/sub/path/runtime.js

什么时候应该在这里加载:

http://localhost:4200/runtime.js

我的基础href目前设置为./

随着应用程序的运行,我检查了html源代码,脚本标签的格式如下:

<script type="text/javascript" src="runtime.js"></script>

我不确定这个项目可能会破坏什么。生成新项目可以毫无问题地工作。我怀疑可能是最近的npm update,但我无法确定这个问题何时开始。我也可能在我的代码中无意中破坏了导航。

知道在哪里或如何开始故障排除?

angular angular-cli router angular-cli-v7
1个回答
1
投票

您可以看到runtime.js正在从子路径加载

http://localhost:4200/page/sub/path/runtime.js

它看起来像是相对基数href的问题,尝试将其更改为绝对值

<base href="/">

© www.soinside.com 2019 - 2024. All rights reserved.