[英]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.