如果我构建一个angular2应用程序,我可以轻松进入我的dev文件夹,双击我的index.html,浏览器将打开页面并获得显示应用程序的所有资源 - 没有任何本地开发服务器。
但是当我在index.html中添加<base href="/">
标记时,我需要让角网络路由器正常工作,浏览器就无法加载页面了。
使用dev-server可以正常工作。
有人可以解释一下原因是什么吗?
答案 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”命令创建的项目。