最近使用 Angular 作项目的时候,经过 ng build
打包后的资源地址都带有 localhost:4200
,百思不得其解,觉得是打包的问题。html
最后在 index.html
的文件中发现有一个 <base>
标签,原来这个标签会在页面的全部连接上添加默认地址。如下是详细说明:浏览器
<base>
标签为页面上的全部连接规定默认地址或默认目标。ui一般状况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。code
使用
<base>
标签能够改变这一点。浏览器随后将再也不使用当前文档的 URL,而使用指定的基本 URL 来解析全部的相对 URL。这其中包括<a>
、<img>
、<link>
、<form>
标签中的 URL。orm
注意:添加 <base>
标签以后,对于使用相对路径的接口请求地址也会改变,因此要慎重使用。htm