URL hash-bang (#! /) Prefixo em vez de simples hash (# /) em Angular 1.6

Meus URLs em um projeto AngularJS foram alterados de localhost:3000/admin#/ para localhost:3000/admin#!/ Desde a última vez que trabalhei no meu projeto …

Nada encontrado na web, alguém sabe o que é isso?

É novo do AngularJS 1.6, que adicionou um novo prefixo hash.

Devido ao aa077e8 , o prefixo de hash padrão usado para URLs de hash do $location mudou da string vazia ( '' ) para o estrondo ( '!' ). Se o seu aplicativo não usar o modo HTML5 ou estiver sendo executado em navegadores que não suportam o modo HTML5 e você não tiver especificado seu próprio hash-prefixo, os URLs do lado do cliente agora conterão um ! prefixo. Por exemplo, em vez de mydomain.com/#/a/b/c o URL se tornará mydomain.com/#!/a/b/c .

Fonte aqui para mais informações.


Se você quiser remover este prefixo, adicione este código à sua configuração:

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

Todo mundo está propondo a remoção do prefixo, mas você também pode simplesmente adicionar um ! para URLs do lado do cliente (se não estiver usando o modo HTML5, o que você provavelmente fará se estiver aqui).

Então, em seus arquivos do lado do cliente , atualize URLs como esta:

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

No Angular 1.6.0, o hashPrefix padrão foi alterado para ! . Veja o commit relacionado e a input do changelog .