66 votes

Erreur: [$ injector: unpr] Fournisseur inconnu: $ routeProvider

Je suis d'essayer d'obtenir une AngularJS 1.2 RC2 app et en cours d'exécution. Actuellement, j'ai été en utilisant l'angle de la Graine de projet pour essayer d'obtenir mon app et en cours d'exécution. Malheureusement, l' Angulaire de la Graine de projet utilise v1.0.7. À partir de l'angle de Graines de projet, j'ai mis à jour les dépendances suivantes:

$script([
  'res/js/angular-1.2.0-rc.2.js',
  'res/js/angular-route-1.2.0-rc.2.js',
  'res/js/app.js?v=2',
], function() {
  // when all is done, execute bootstrap angular application
  angular.bootstrap(document, ['myApp']);
});

Dans app.js, j'ai le texte suivant:

'use strict';

angular.module('myApp', []).
    config(['$routeProvider', function($routeProvider) {
        $routeProvider.otherwise({redirectTo: '/home'});
    }]);

Quand je lance l'application, j'obtiens l'erreur suivante:

Error: [$injector:unpr] Unknown provider: $routeProvider

J'ai lu les autres réponses que dire des choses comme: 1) s'injecte de 'ngroute' ou 2) Vous devez définir le contrôleur de la route. Mon problème est que je ne comprends pas comment injecter ngroute. En outre, ai-je vraiment besoin de définir le contrôleur de la route? Cette approche ne semble pas évolutive. Mon application peut avoir un millier de points de vue. À mon avis, il semble juste comme il y a moyen de définir des routes sans avoir à les charger tous les contrôleurs.

142voto

Cuong Vo Points 2159

Il semble que vous ayez oublié d’inclure le module ngRoute dans votre dépendance pour myApp.

Dans Angular 1.2, ngRoute est devenu facultatif (vous pouvez donc utiliser des fournisseurs de route tiers, etc.) et vous devez en dépendre explicitement dans les modules, en incluant le fichier séparé .

 'use strict';

angular.module('myApp', ['ngRoute']).
    config(['$routeProvider', function($routeProvider) {
$routeProvider.otherwise({redirectTo: '/home'});
}]);
 

0voto

Maxim Shoustin Points 20035

Les informations relatives aux informations personnelles des documents $routeProvider when n'est pas facultatif

 myModule.config(["$routeProvider",
    function($routeProvider) {
        $routeProvider
            .when("/", {
                templateUrl: 'src/htmls/blablabla.html', // dummy example
                controller: 'Yourcontroller'
            })
            .otherwise({redirectTo: '/home'});
    }
 ]);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X