Как убрать хеш # из angularjs ng-route
Я пытаюсь использовать locationProvider для удаления хэштега из URL-маршрутов в угловых JS, но это дает мне ошибку.
app.js
var eclassApp = angular.module('eclassApp',
['ngRoute', 'eclassControllers', ]
);
eclassApp.config(['$routeProvider','$locationProvider',
function ($routeProvider, $locationProvider){
$routeProvider.
when('/',{
templateUrl: '/html/student-list.html',
controller: 'StudentsListCtrl',
}).
when('/students/:studentId',{
templateUrl: '/html/student-details.html',
controller: 'StudentDetailsCtrl',
}).otherwise({
redirectTo: '/students'
});
$locationProvider.htmlMode(true);
}]
);
Ошибка:
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.13/$injector/modulerr?p0=eclassApp&p1=TypeE…oogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.13%2Fangular.min.js%3A17%3A1)
Я что-то пропустил?
РЕДАКТИРОВАТЬ: вызов функции html5Mode с объектом параметров, как это
$locationProvider.html5Mode({
enabled:true
})
я получаю следующую ошибку (изменено на angular full, чтобы получить лучшее объяснение ошибки вместо минимизированной версии)
Error: [$location:nobase] $location in HTML5 mode requires a <base> tag to be present!