私はAngularJSでいわゆる「SEOに優しい」URLを作成しようとしています。私が持っているルーティングのための私のscript.jsで
:
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.html5Mode(true);
when('/blog', {
templateUrl: 'blog.html',
controller: 'BlogController'
}).
when('/page/ideas', {
templateUrl: 'ideas.html',
controller: 'IdeasController'
}).
otherwise({
templateUrl: 'home.html'
});
}]);
app.controller("BlogController", function($scope) {
$scope.title = 'Blog';
});
app.controller("IdeasController", function($scope) {
$scope.title = 'Ideas';
});
URLから#を削除するには、私は、HTML5モードを有効にしています:
$routeProvider.html5Mode(true);
しかし、これは、その結果次のエラー:
Failed to instantiate module exampleApp due to: TypeError: $routeProvider.html5Mode is not a function
誰にもこの問題の解決策がありますか?このため、コンテンツはビューから表示されません。
編集は:誰もが疑問に思うために、作業コードは次のとおりです。
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.
when('/blog', {
templateUrl: 'blog.html',
controller: 'BlogController'
}).
when('/page/ideas', {
templateUrl: 'ideas.html',
controller: 'IdeasController'
}).
otherwise({
templateUrl: 'home.html'
});
$locationProvider.html5Mode(true);
}]);
(真)' $ locationProvider.html5Modeを使用してみてくださいに
<base href="/"
>タグを追加する必要があります。 html5Modeは$ locationProviderのメソッドです。 –えええええええええええええええええええええええん:いつも定義されていないかReferenceError:$ locationProviderが定義されていない – JWDev
あなたは$ routeProviderと同じ方法で$ locationProviderを注入する必要があります –