web-dev-qa-db-fra.com

Échec d'instanciation du module [$ injector: Unn] Fournisseur inconnu: $ routeProvider

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

216
Scotty.NET

Le module ngRoute ne fait plus partie du fichier core _angular.js_. Si vous continuez à utiliser $ routeProvider, vous devez maintenant inclure _angular-route.js_ dans votre code HTML:

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

Référence API

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

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

Si vous envisagez plutôt d'utiliser angular-ui-router ou similaire, supprimez simplement la dépendance _$routeProvider_ de votre module .config() et remplacez-la par le fournisseur de votre choix ( par exemple _$stateProvider_). Vous utiliseriez alors la dépendance _ui.router_:

_var app = angular.module('MyApp', ['ui.router', ...]);
_
404
Scotty.NET

ajoutant à la réponse de Scott:

Option 1: Soit inclure 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 " sur votre réseau local.

et ensuite (quelle que soit l'option que vous choisissiez), ajoutez cette 'ngRoute' en tant que dépendance.

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

À votre santé!!!

41
mayankcpdixit

Dans mon cas, c'était parce que le fichier avait été minifié avec une mauvaise portée. Utilisez un tableau!

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

Café syntaxe:

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