簡體   English   中英

base href in angular:在運行時更改base-href?

[英]base href in angular: change base-href in runtime?

我有一個將base-href設置為/a/b/角度應用程序。 因此,在我的dist文件夾中,有一個帶有<base href="/a/b/">的html文件。 通過這種方式,瀏覽器可以確定到assets/images/logo.png的圖像鏈接實際上位於domain.com/a/b/assets/images/logo.png

因此,我的應用程序在domain.com/a/b/index.html運行。

問題:

現在,我也想在domain.com/a/b/c/index.html上運行相同的應用程序。 因此,除了前一個。 另外,此處assets/images/logo.png也位於domain.com/a/b/c/assets/images/logo.png (在此處觀看/ c /)。

盡管我真的很想一次構建我的應用程序並發布一次 ,但是我可以使它正常工作。 然后將其部署兩次( /a/b//a/b/c/ )。

所以實際上我的問題是,在將其部署到apache服務器上的給定文件夾中之后,是否可以配置此base-href? 有運行時選項嗎? 是否可以從文件所在的目錄推斷出它的基本路徑? 或者,是否有命令更改index.html中的值?

您“可以”將其部署到A),然后在構建過程中使用某些插件即時更改index.html並將其部署到B)。 但是我不建議這樣做。
最好再加倍努力,再進行一次構建。 我這樣做的原因是,在大多數情況下,當您有兩個具有不同URL的“相同”應用程序時,它們並不相同。 可能他們只使用兩個不同的后端。
至少我想為兩個應用程序使用不同的環境配置文件。

我將在angular json中定義第二個角度項目。 您可以復制第一個文件中的所有內容。
只有名稱和“ baseHref”應該不同。
然后,所有更改都會影響這兩個應用程序,唯一要做的就是將其構建兩次。
然后,您沒有太多的開銷,也沒有更改環境配置的所有靈活性(在angular-json中使用fileReplacement)。

溫暖的問候

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM