web-dev-qa-db-ja.com

Angular 1.6の単純なハッシュ(#/)の代わりにURLハッシュバン(#!/)プレフィックス

AngularJSプロジェクトのURLがlocalhost:3000/admin#/からlocalhost:3000/admin#!/に変更されたのは、最後にプロジェクトに取り組んだときからです...

Webで何も見つかりませんでした。誰かがこれが何であるかを知っていますか?

46
SherloxFR

これは、新しいハッシュプレフィックスを追加したAngularJS 1.6から新しく追加されました。

aa077e8 により、$locationハッシュバングURLに使用されるデフォルトのハッシュプレフィックスが空の文字列('')からバング('!')に変更されました。アプリケーションがHTML5モードを使用していないか、HTML5モードをサポートしていないブラウザーで実行されており、独自のハッシュプレフィックスを指定していない場合、クライアント側URLには!プレフィックスが含まれます。たとえば、mydomain.com/#/a/b/cではなく、URLはmydomain.com/#!/a/b/cになります。

詳細はこちら .


このプレフィックスを削除する場合は、このコードを構成に追加します:

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

誰もがプレフィックスを削除することを提案していますが、クライアント側のURLに!を追加することもできます(HTML5モードを使用していない場合は、おそらくここにいます)。

client-sideファイルで、次のようにURLを更新します。

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

10
Overdrivr

Angular 1.6.0では、デフォルトのhashPrefixが!に変更されました。 関連コミット および changelogエントリ を参照してください。

5
DevDig