2016-06-10 56 views
3

如果我構建了一個angular2應用程序,我可以輕鬆進入我的開發文件夾,雙擊我的index.html,瀏覽器將打開該頁面並獲取所有資源顯示應用程序的權利 - 沒有任何本地開發服務器。angular2 <base href =「/」>混淆瀏覽器

但是,當我在index.html中添加<base href="/">標記,我需要角度路由器工作時,瀏覽器無法再加載頁面。

使用開發服務器,這工作正常。

有人可以解釋我是什麼原因?

+0

你在哪裏添加它? –

+0

另請參閱http://stackoverflow.com/questions/34535163/angular-2-router-no-base-href-set/34535256#34535256 –

+0

我在''標籤後面直接添加了它。 –

回答

13

如果您使用<base href="/">並直接打開index.html,則根據您的文件位於何處,將其視爲文件file:///C:/或類似文件。

一個解決方案是使用相對路徑:<base href="./">基地將是您的文件所在的當前文件夾。你可以使用這個,如果你必須從USB棒運行應用程序,例如

+0

當我使用'時,我的angular 2解決方案在nodejs本地工作,但是當我複製在我們的服務器上的IIS上的文件我得到了404的索引中的所有腳本和css文件。在'/'之前添加'.'使其工作。謝謝。 –

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」命令創建的項目。