base href in angular: изменить base-href во время выполнения? - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть 1 угловое приложение с base-href, установленным на /a/b/. Итак, в моей папке dist есть HTML-файл с <base href="/a/b/">. Таким образом, браузер может определить, что ссылка с изображением на 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. (смотрите / с / там).

Я могу заставить это работать, хотя я действительно хотел бы создать свое приложение один раз и опубликовать его один раз . Затем разверните его дважды (/a/b/ и /a/b/c/).

Так что на самом деле мой вопрос, могу ли я настроить этот base-href после его развертывания в указанных папках на моем сервере apache? Есть ли опция времени выполнения? Может ли он определить свой базовый путь из каталога, в котором находятся файлы? Или есть команда для изменения значения в index.html?

1 Ответ

0 голосов
/ 12 ноября 2018

вы можете «развернуть» его в A), а затем изменить «index.html» на лету с помощью некоторого плагина в процессе сборки и развернуть его в B). Но я бы не советовал.
Лучше пройти лишнюю милю и получить вторую сборку. Причина, по которой я бы это сделал, состоит в том, что в большинстве случаев, когда у вас есть два «идентичных» приложения с разными URL-адресами, они НЕ являются идентичными. И может быть, они используют только два разных бэкэнда.
По крайней мере, я хотел бы иметь возможность использовать разные среды-config-файлы для обоих приложений.

Я бы определил второй угловой проект в угловом JSON. Вы можете скопировать все с первого.
Только имя и "baseHref" должны отличаться.
Тогда все ваши изменения будут влиять на оба приложения, и единственное, что вам нужно сделать, это создать его два раза.
Тогда вам не нужно много накладных расходов и вся гибкость для изменения config-environment (с fileReplacement в angular-json).

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...