2017-08-04 146 views
1

我在IIS中託管了我的Angular2應用程序,我的應用程序中有三個組件。 第一個組件加載完美,但其餘組件加載不正確。 我的應用程序啓動URL是Angular2路由在IIS中不工作

http://localhost/UI/login/

(裝載資產正常)。當我在一個按鈕上點擊另一個組件時,點擊我指的是位於assets文件夾中的相同圖片,該圖片未正確加載。 我找到了它的根本原因,但我不知道如何解決它。原因是 按鈕單擊它會重定向到

本地主機/ UI /日誌/ Project02(我不能添加https://開頭,因爲它不允許超過2個鏈接)

和本地主機(在服務器上)正在尋找像這樣的資產文件夾localhost/UI/log/assets/logo.png而不是localhost/UI/assets/logo.png。爲什麼第一個組件中加載了相同的圖像,而第二個組件中沒有加載?我也嘗試通過更改index.html中的base href =「/」

我的第二個問題是,在點擊一個按鈕,我路由到第三個組件它正在爲localhost/UI /日誌/ logdetails/2,而不是本地主機/ UI/logdetails/2

誰能幫我這個?

這是HTML代碼參照標誌

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

this is my folder structure

+0

請提供您的代碼,您已添加圖像 – Faisal

+0

@Faisal:我更新了我的問題,請檢查它 –

+0

更改您的img爲:' – Faisal

回答

1

我修改了代碼:

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

哪個正確裝入我的形象。

默認情況下,基本URL被設置爲(/)或root。

這意味着您的應用程序將從根文件夾開始,即在本地它將認爲是localhost:1234 /並且它將在服務器上考慮根文件夾。

當你運行你的應用程序,它可能會混淆你的瀏覽器爲您的文件不在根路徑可以通過404

所以最好的辦法是在基地的href添加相對路徑,如:

<base href=」/Project_Name/」>