我有1个角度应用程序,其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中的值?
答案 0 :(得分:-1)
您“可以”将其部署到A),然后在构建过程中使用某些插件即时更改index.html并将其部署到B)。但我不建议这样做。
最好再加倍努力,再进行一次构建。
我这样做的原因是,在大多数情况下,当您有两个具有不同URL的“相同”应用程序时,它们并不相同。也许他们只使用两个不同的后端。
至少我希望可以为两个应用程序使用不同的环境配置文件。
我将在angular json中定义第二个角度项目。
您可以复制第一个文件中的所有内容。
只有名称和“ baseHref”应该不同。
然后,所有更改都会影响这两个应用程序,唯一要做的就是将其构建两次。
这样一来,您就没有太多开销,也没有足够的灵活性来更改环境配置(在angular-json中使用fileReplacement)。
亲切的问候