在Angular 1.6中使用URL hash-bang(#!/)前缀而不是简单的哈希(#/)
我上一次工作在我的项目上后,AngularJS项目上的URL已经从localhost:3000/admin#/
更改为localhost:3000/admin#!/
没有在网上find,有人知道这是什么?
它是从AngularJS 1.6新增的,它添加了一个新的哈希前缀。
由于aa077e8 ,用于
$location
hash-bang URL的默认哈希前缀已经从空string(''
)变成了bang('!'
)。 如果您的应用程序不使用HTML5模式,或者在不支持HTML5模式的浏览器上运行,并且您没有指定自己的哈希前缀,则客户端URL现在将包含!
字首。 例如,而不是mydomain.com/#/a/b/c
,url将变成mydomain.com/#!/a/b/c
。
从这里获取更多信息。
如果你想删除这个前缀,添加这个代码到你的configuration:
appModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]);
每个人都build议删除前缀,但你也可以简单地添加一个!
到客户端的URL(如果不使用HTML5模式,你可能会做,如果你在这里)。
所以在你的客户端文件中,像这样更新URLS:
#/foo/bar
> #!/foo/bar
在Angular 1.6.0中,默认的hashPrefix已被更改为!
。 查看相关的提交和更改日志条目 。