Angular JSアプリのURLから「#」を削除しようとしています。現在のところ、私のロケーションマシンの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/#/
のようなハッシュを使用してアプリケーションにアクセスできるようにしていますが角度モジュール(myAppMain.js)を設定し、私の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
});
}
}
]);
...
...
index.html
というヘッドタグにbase href="/"
タグが既に追加されています。
私はそれが仕事や他のいくつかの問題があることを確認するためにTomcatの終わりにいくつかの変更を行う必要があればわからない。..
助けてください。
おかげ
でなければなりません。変更を行った後、 –
angular.js:68キャッチコピーしないエラー:[$ injector:modulerr] エラー:[$ injector:unpr]不明なプロバイダ:$ routeParams http:///errors.angularjs.org/1.4.9/$injector/unpr?p0=%24routeParams –
routeParamsを削除し、更新された回答を確認します。設定で使用されていないため、コントローラで必要になる可能性があります – Aks1357