要清楚,这不是一个错误,这是我无意间破产的项目,我不确定何时或如何。
在我的项目中运行ng --version
:
Angular CLI: 7.3.4
Node: 10.14.1
OS: darwin x64
Angular: 7.2.7
运行ng serve
时,该应用在浏览器中加载正常:
http://localhost:4200
手动在根部手动加载路径时,请正加载:
http://localhost:4200/page
通过应用程序中的链接导航到运行应用程序的子路径from a root path
时,请加载正常:
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
,但是我无法确定何时开始这个问题。我也可能会在代码中无意中断开导航。
任何想法在哪里或如何开始故障排除?
您可以看到runtime.js
正在从子路加载
http://localhost:4200/page/sub/path/runtime.js
它看起来像是相对基础HREF的问题,请尝试将其更改为绝对的
<base href="/">