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="/">
需要说明的是,这不是错误,这是我无意中破坏的项目,我不确定何时或如何破坏。
运行 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="/">