216 votes

Échec de l'instanciation du module [$injector:unpr] Fournisseur inconnu : $routeProvider

J'ai reçu cette erreur lors de la mise à niveau d'AngularJS 1.0.7 a 1.2.0rc1 .

404voto

Scotty.NET Points 4373

Le module ngRoute ne fait plus partie du noyau de l'application. angular.js fichier. Si vous continuez à utiliser $routeProvider, vous devrez maintenant inclure angular-route.js dans votre HTML :

<script src="angular.js">
<script src="angular-route.js">

Référence API

Vous devez également ajouter ngRoute comme une dépendance pour votre application :

var app = angular.module('MyApp', ['ngRoute', ...]);

Si vous envisagez plutôt d'utiliser angular-ui-router ou autre, il suffit de supprimer le $routeProvider la dépendance de votre module .config() et le remplacer par le fournisseur pertinent de son choix (par ex. $stateProvider ). Vous utiliseriez alors le ui.router dépendance :

var app = angular.module('MyApp', ['ui.router', ...]);

41voto

mayankcpdixit Points 1237

Ajoutant à la réponse de Scotty :

Option 1 : Soit vous incluez ceci dans votre fichier JS :

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>

Option 2 : ou utilisez simplement l'URL pour télécharger ' angular-route.min.js ' à votre local.

et ensuite (quelle que soit l'option choisie) ajoutez ce "ngRoute" comme dépendance.

expliqué : var app = angular.module('myapp', ['ngRoute']);

Santé ! !!

3voto

Lucia Points 107

Dans mon cas, c'est parce que le fichier a été réduit avec une mauvaise portée. Utilisez Array !

app.controller('StoreController', ['$http', function($http) {
    ...
}]);

Syntaxe du café :

app.controller 'StoreController', Array '$http', ($http) ->
  ...

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