Angular 7 CLI 运行 我项目中的服务中断了子路径的导航

Angular 7 CLI running ng serve in my project breaks navigation for sub paths

需要说明的是,这不是错误,这是我无意中破坏的项目,我不确定何时或如何破坏。

运行 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

当通过应用程序中的 link 导航到 运行 应用程序的子路径 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="/">