Я пытаюсь удалить «#» из URL моего приложения Angular JS. В настоящее время он развернут на сервере tomcat на моей машине определения местоположения и доступен через пользовательский порт, например: 8081.
Я рассмотрел различные статьи, а также различные потоки в stackoverflow, чтобы исправить проблему. Но все шло напрасно.
Я получаю следующую ошибку (от консоли разработчика браузера), когда пытаюсь получить доступ к домашней странице своего приложения, используя localhost:8081/myAngularApp
.
Uncaught Error: [$injector:modulerr] Failed to instantiate module myAngularApp due to:
TypeError: Cannot read property 'html5Mode' of undefined
at http://localhost:8081/myAngularApp/js/angularMyApp.js:34:31
.....
.....
Если удалить $locationProvider.html5Mode({...});
то я могу получить доступ к приложению с хэш как http://localhost:8081/myAngularApp/#/
Вот это отрывок из моего файла JS, который настраивает Угловой модуль (myAppMain.js):
...
...
myAngularApp.config([ '$routeProvider', '$locationProvider',
function($routeProvider, $routeParams, $locationProvider) {
$routeProvider
// route for the login page
.when('/login', {
templateUrl : 'pages/login.html',
controller : 'loginController'
})
// route for the dashboard page
.when('/dashboard', {
templateUrl : 'pages/dashboard.html',
controller : 'dashboardController'
});
// route for the FAQ page
.when('/faq', {
templateUrl : 'pages/faq.html',
controller : 'faqController'
})
// route for the About us page
.when('/aboutUs', {
templateUrl : 'pages/aboutUs.html',
controller : 'aboutUsController'
});
.otherwise({redirectTo: '/'
});
if(window.history && window.history.pushState){
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
}
}
]);
...
...
Я уже добавил base href="/"
тег в теге головы index.html
.
Я не уверен, если я должен сделать некоторые изменения в TOMCAT конце, чтобы сделать его работу или есть некоторая другая проблема ..
Пожалуйста, помогите.
Благодаря
Это не сработало. После внесения изменений я получаю следующую ошибку: –
angular.js: 68 Ошибка при отсутствии: [$ injector: modulerr] Не удалось создать модуль myAngularApp из-за: Ошибка: [$ injector: unpr] Неизвестный поставщик: $ routeParams http://errors.angularjs.org/1.4.9/$injector/unpr?p0=%24routeParams –
Удалить маршрутParams, проверить обновленный ответ, так как он не используется в config, вы можете потребовать его в контроллере – Aks1357