angular2 <base href =“/”/>令人困惑的浏览器

时间:2016-06-10 10:19:11

标签: angular

如果我构建一个angular2应用程序,我可以轻松进入我的dev文件夹,双击我的index.html,浏览器将打开页面并获得显示应用程序的所有资源 - 没有任何本地开发服务器。

但是当我在index.html中添加<base href="/">标记时,我需要让角网络路由器正常工作,浏览器就无法加载页面了。

使用dev-server可以正常工作。

有人可以解释一下原因是什么吗?

2 个答案:

答案 0 :(得分:15)

当您使用<base href="/">并直接打开index.html时,根据文件的位置,将其视为文件file:///C:/或类似文件。

一种解决方案是使用相对路径:<base href="./"> base将是您文件所在的当前文件夹。如果您必须从USB记忆棒运行应用程序,则可以使用此功能,例如

答案 1 :(得分:0)

我在IIS 7.5中有一个名为/ ang2的虚拟目录,指向C:\ Apps \ hello-world \ dist。我正在使用angular-cli构建项目(即:“ng build --target = production”或“ng build target = development”)。 如果我将基础href更改为./它可以工作。我也使用./ang2。 我还没有测试任何路由,因为这只是一个用“ng new hello-world”命令创建的项目。