web-dev-qa-db-fra.com

URL préfixe hash-bang (#! /) Au lieu du simple hash (# /) dans Angular 1.6

Mes URL sur un projet AngularJS ont changé de localhost:3000/admin#/ à localhost:3000/admin#!/ depuis la dernière fois que j'ai travaillé sur mon projet ...

Rien trouvé sur le web, est-ce que quelqu'un sait ce que c'est?

46
SherloxFR

Il est nouveau dans AngularJS 1.6, qui a ajouté un nouveau préfixe de hachage.

En raison de aa077e8 , le préfixe de hachage utilisé par défaut pour $location Les URL de hash-bang sont passées de la chaîne vide ('') à la détonation ('!'). Si votre application n'utilise pas le mode HTML5 ou est en cours d'exécution sur des navigateurs ne prenant pas en charge le mode HTML5 et que vous n'avez pas spécifié votre propre préfixe de hachage, les URL côté client contiendront désormais un ! préfixe. Par exemple, plutôt que mydomain.com/#/a/b/c l'URL deviendra mydomain.com/#!/a/b/c.

Source ici pour plus d'informations.


Si vous souhaitez supprimer ce préfixe, ajoutez ce code à votre configuration:

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

Tout le monde propose de supprimer le préfixe, mais vous pouvez aussi simplement ajouter un ! vers les URL côté client (si vous n’utilisez pas le mode HTML5, ce que vous ferez probablement si vous êtes ici).

Donc, dans vos côté client fichiers, mettez à jour les URL comme ceci:

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

10
Overdrivr

Dans Angular 1.6.0, le préfixe de hachage par défaut a été remplacé par !. Voir le commit associé et le entrée du journal des modifications .

5
DevDig