Angular2路由在IIS中不起作用

时间:2017-08-04 07:06:00

标签: angular iis angular2-routing

我在IIS中托管了我的Angular2应用程序,我的应用程序中有三个组件。 第一个组件加载完美,但其余组件未正确加载。 我的应用程序启动URL是

  

http://localhost/UI/login/

(正确加载资产)。当我在按钮上路由到另一个组件时,我指的是位于资源文件夹中的相同图像,该图像未正确加载。 我找到了它的根本原因,但我不知道如何解决它。原因是 点击按钮,它将重定向到

  

localhost / UI / log / Project02(我无法添加https://,因为它不允许超过2个链接)

和localhost(在服务器中)正在查找资产文件夹,如 localhost / UI / log / assets / logo.png ,而不是 localhost / UI / assets / logo.png 。相同的图像加载到第一个组件但不是第二个组件中为什么?我尝试在index.html中更改 base href =" /"

我的第二个问题是,在按钮上单击我将路由到第3个组件,它将作为localhost / UI / log / logdetails / 2而不是localhost / UI / logdetails / 2

有人可以帮我吗?

这是用于引用徽标的Html代码

  <a href="#"><img src="assets/logo.png" alt=""></a> <span class="header-txt">Log</span>

this is my folder structure

1 个答案:

答案 0 :(得分:1)

我将代码修改为:

img src="../assets/logo.png" alt="" 

正确加载了我的图像。

默认情况下,基本URL设置为(/)或root。

这意味着您的应用程序将从根文件夹开始,即在本地它将考虑localhost:1234 /并且在服务器上它将考虑根文件夹。

当您运行应用时,它可能会使您的浏览器感到困惑,因为您的文件不在根路径,可以通过404。

所以最好的方法是在base href中添加相对路径,如:

<base href=”/Project_Name/”>