从AngularJS中的URL中删除#

时间:2018-12-28 05:59:17

标签: angularjs url angular-ui-router

我正在使用使用状态提供程序的UI路由。 我的应用程序是基于Express服务器(而非Apache服务器)上的AngularJS构建的。 问题是页面的URL。 网址看起来像: http://localhost:3006/#!/home

我想要的样子: http://localhost:3006/homehttp://localhost:3006/!/home

有人可以帮助我做到这一点吗? 我在Google上进行搜索,但找到了apache服务器的解决方案。 以及我使用

$locationProvider.hashPrefix('');
$locationProvider.html5Mode(true);

但它显示此错误:

TypeError: Cannot read property 'hashPrefix' of undefined
    at http://localhost:3006/app.js:448:20
    at Object.invoke (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:44:390)
    at d (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:42:279)
    at https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:42:418
    at r (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:8:7)
    at g (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:42:180)
    at gb (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:46:250)
    at c (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:22:19)
    at Uc (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:22:332)
    at we (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js:21:1

1 个答案:

答案 0 :(得分:0)

please check this

https://scotch.io/tutorials/pretty-urls-in-angularjs-removing-the-hashtag

在配置app.js中添加$ locationProvider。 之后添加$ locationProvider.html5Mode(true);

最后在您的index.html头中包含<base href="/">