我正在使用使用状态提供程序的UI路由。 我的应用程序是基于Express服务器(而非Apache服务器)上的AngularJS构建的。 问题是页面的URL。 网址看起来像: http://localhost:3006/#!/home
我想要的样子: http://localhost:3006/home或http://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
答案 0 :(得分:0)
https://scotch.io/tutorials/pretty-urls-in-angularjs-removing-the-hashtag
在配置app.js中添加$ locationProvider。 之后添加$ locationProvider.html5Mode(true);
最后在您的index.html头中包含<base href="/">