URL-адрес хеш-бэнга (#!/) Префикс вместо простого хэша (#/) в Angular 1.6

Мои URL-адреса проекта AngularJS изменились с localhost:3000/admin#/ на localhost:3000/admin#!/ с момента последнего использования моего проекта...

Ничего не найдено в Интернете, кто-то знает, что это такое?

Ответ 1

Это новое из AngularJS 1.6, в котором добавлен новый хэш-префикс.

Из-за aa077e8 хэш-префикс по умолчанию, используемый для $location хеширования URL-адреса изменились с пустой строки ('') на bang ('!'). Если ваш приложение не использует режим HTML5 или запускается в браузерах, которые не поддерживайте режим HTML5, и вы не указали свой собственный хэш-префикс, тогда URL-адреса клиентской стороны теперь будут содержать префикс !. Для Например, вместо mydomain.com/#/a/b/c URL-адрес станет mydomain.com/#!/a/b/c.

Источник здесь для получения дополнительной информации.


Если вы хотите удалить этот префикс, добавьте этот код в свой конфиг:

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);

Ответ 2

Каждый предлагает удалить префикс, но вы также можете просто добавить URL-адрес ! на клиентские стороны (если не использовать режим HTML5, который вы, вероятно, будете делать, если вы здесь).

Итак, в клиентских файлах, обновите URLS следующим образом:

#/foo/bar > #!/foo/bar