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

时间:2019-03-15 12:42:30

标签: angular angular-cli router angular-cli-v7

要清楚,这不是错误,这是一个我无意中中断的项目,我不确定何时或如何进行,并且需要帮助进行故障排除。

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

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

运行ng serve时,应用程序将在浏览器中的“确定”加载位置:

http://localhost:4200

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

http://localhost:4200/page

通过应用内的链接导航 到正在运行的应用的子路径from a root path时,请在以下位置加载OK:

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

但是,当尝试通过以下任何一种方式加载后续子路径时:

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

•试图手动输入并在子路径中加载网址

•在查看子路径时由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,但是我不确定何时开始出现此问题。我也可能在代码中无意间破坏了导航。

是否知道从何处或如何开始进行故障排除?

1 个答案:

答案 0 :(得分:1)

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

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

它似乎是相对基href的问题,请尝试将其更改为绝对的

<base href="/">