URL de hachage-bang (#!/ ) préfixe au lieu de hash simple ( # / ) dans Angular 1.6
Mes URL sur un projet AngularJS sont passées de localhost:3000/admin#/
à localhost:3000/admin#!/
depuis la dernière fois que j'ai travaillé sur mon projet...
Rien trouvé sur le web, quelqu'un sait ce que c'est ?
3 réponses
Il est nouveau à partir D'AngularJS 1.6, qui a ajouté un nouveau préfixe de hachage.
En raison de aa077e8 , le préfixe de hachage par défaut utilisé pour
$location
hash-bang URLs a changé de la chaîne vide (''
) au bang ('!'
). Si votre l'application n'utilise pas le mode HTML5 ou est en cours d'exécution sur les navigateurs qui ne supporte pas le mode HTML5, et vous n'avez pas spécifié le vôtre hash-prefix puis les URL côté client contiendront maintenant un préfixe!
. Pour exemple, plutôt quemydomain.com/#/a/b/c
, L'URL devenirmydomain.com/#!/a/b/c
.
Source ici pour plus d'informations.
Si vous souhaitez supprimer ce préfixe, ajoutez ce code à votre config:
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
Tout le monde propose de supprimer le préfixe, mais vous pouvez aussi simplement ajouter un !
aux URL côté client (si vous n'utilisez pas le mode HTML5, ce que vous faites probablement si vous êtes ici).
Donc, dans vos fichiers côté client , mettez à jour les URL comme ceci:
#/foo/bar
> #!/foo/bar