мой вопрос в двух словах:
Почему угловой маршрутизатор в режиме хеширования меняет базу пути URL-адреса на то, что я установил для своей базы href? И как мне предотвратить это поведение?
для получения более подробной информации о моем случае использования ...
Я использую маршрутизацию хэша в приложении Angular 8.
В моемСтраница index.html (которая является страницей MVC, сгенерированной на сервере) Я должен указать базовый href, чтобы моя html-страница знала, куда загрузить все файлы js и css, сгенерированные сборкой angular-cli. После загрузки приложения angular базовый путь в url в адресной строке меняется на базовый href, который я указал в моем index.html. Это вызывает проблемы при попытке перезагрузить страницу, потому что URL больше не указывает на исходный URL, который я запросил при первой загрузке приложения.
Мои вопросы: как отключить это поведение илипомешать угловой изменить URL-адрес, как это? Я чувствую, что angular не должно заботиться ни о чем в URL до хэша, если я использую хеш-маршрутизацию. Я искал базу кодов Angular и не смог найти причину.
(это не поведение браузера по умолчанию, которое я вижу. Само по себе, когда вы загружаете простой html-файл, в котором указан базовый href, браузер не меняет URL-адрес по сравнению с тем, который вы изначально запрашивали. Я проверил это, просто чтобы убедиться, что я не сумасшедший).
Я мог бы реализовать обходной путь, предоставив свой собственный LocationStrategy . У меня нет никаких проблем с этим, но я чувствую, что не должен был делать дополнительный шаг только для того, чтобы поддерживать поведение браузера по умолчанию, когда angular все равно. В качестве обходного пути я также могу удалить базовый href и предоставить --deploy-url при сборке приложения, но это опять-таки дополнительный шаг, когда браузер может самостоятельно обрабатывать загрузку файлов и не связываться сurl.
Я создал репозиторий с базовым примером, который воспроизводит проблему и предоставляет немного больше деталей. Я ЗНАЮ, что сервер экспресс не настроен "правильно". Это только для иллюстрации того, как мне приходится иметь дело с файлами в моем случае использования. Пожалуйста, обратите внимание на угловой вопрос, заданный в начале сообщения, а не на вспомогательные детали.
Обновление
Я открыл проблему с угловым, так как это, кажется, дефект где-то в базе углового кода,https://github.com/angular/angular/issues/33000.