URL 在 Angular 1.6 中使用散列 (#!/) 前缀代替简单的散列 (#/)
URL hash-bang (#!/) prefix instead of simple hash (#/) in Angular 1.6
自从我上次处理我的项目以来,我在 AngularJS 项目上的 URL 已从 localhost:3000/admin#/
更改为 localhost:3000/admin#!/
...
网上没有找到,有人知道这是什么吗?
在 Angular 1.6.0 中,默认的 hashPrefix 已更改为 !
。
见 related commit and the changelog entry.
它是 AngularJS 1.6 的新版本,它添加了一个新的哈希前缀。
Due to aa077e8, the default hash-prefix used for $location
hash-bang
URLs has changed from the empty string (''
) to the bang ('!'
). If your
application does not use HTML5 mode or is being run on browsers that
do not support HTML5 mode, and you have not specified your own
hash-prefix then client side URLs will now contain a !
prefix. For
example, rather than mydomain.com/#/a/b/c
the URL will become
mydomain.com/#!/a/b/c
.
Source here 了解更多信息。
如果要删除此前缀,请将此代码添加到您的配置中:
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
每个人都建议删除前缀,但您也可以简单地向客户端 URL 添加一个 !
(如果不使用 HTML5 模式,如果您在这里,您可能会这样做).
所以在您的 客户端 文件中,像这样更新 URLS:
#/foo/bar
> #!/foo/bar
自从我上次处理我的项目以来,我在 AngularJS 项目上的 URL 已从 localhost:3000/admin#/
更改为 localhost:3000/admin#!/
...
网上没有找到,有人知道这是什么吗?
在 Angular 1.6.0 中,默认的 hashPrefix 已更改为 !
。
见 related commit and the changelog entry.
它是 AngularJS 1.6 的新版本,它添加了一个新的哈希前缀。
Due to aa077e8, the default hash-prefix used for
$location
hash-bang URLs has changed from the empty string (''
) to the bang ('!'
). If your application does not use HTML5 mode or is being run on browsers that do not support HTML5 mode, and you have not specified your own hash-prefix then client side URLs will now contain a!
prefix. For example, rather thanmydomain.com/#/a/b/c
the URL will becomemydomain.com/#!/a/b/c
.
Source here 了解更多信息。
如果要删除此前缀,请将此代码添加到您的配置中:
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
每个人都建议删除前缀,但您也可以简单地向客户端 URL 添加一个 !
(如果不使用 HTML5 模式,如果您在这里,您可能会这样做).
所以在您的 客户端 文件中,像这样更新 URLS:
#/foo/bar
> #!/foo/bar