Fehler beim Instanziieren des Moduls [$ injor: unpr] Unbekannter Anbieter: $ routeProvider


Antworten:


404

Das ngRoute-Modul ist nicht mehr Teil der Kerndatei angular.js. Wenn Sie weiterhin $ routeProvider verwenden, müssen Sie jetzt Folgendes angular-route.jsin Ihren HTML- Code aufnehmen :

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

API-Referenz

Sie müssen außerdem ngRouteals Abhängigkeit für Ihre Anwendung Folgendes hinzufügen :

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

Wenn Sie stattdessen die Verwendung angular-ui-routeroder ähnliches planen, entfernen Sie einfach die $routeProvider Abhängigkeit von Ihrem Modul .config()und ersetzen Sie sie durch den entsprechenden Anbieter Ihrer Wahl (z $stateProvider. B. ). Sie würden dann die ui.routerAbhängigkeit verwenden:

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

2
Das ui-routerProjekt scheint eine flexiblere Alternative zu sein, wenn Sie bei
Null

2
@gatoatigrado - Ich habe gerade festgestellt, wie alt die ui.stateSyntax war, als ich meine App von angular-ui-router v0.0.1 auf v0.2.0 aktualisiert habe , was bedeutet, dass sie jetzt den ui.routerNamen verwendet. Ich entschuldige mich für etwaige Verwirrung.
Scotty.NET

3
Wo ist die CDN-Adresse angular-route.js?
Sahar Sany

@SaharSany - Die Dokumentation fürangular-route gibt die CDN-Adresse sowie andere Optionen an. Was ui-routergibt es derzeit keine CDN , die ich kenne.
Scotty.NET

3
ui-routerscheint nicht auf einem eigenen CDN zu sein, obwohl es auf cdnjs ist: cdnjs.com/libraries/angular-ui-router
Nick McCurdy

41

Hinzufügen zu Scotys Antwort:

Option 1: Fügen Sie dies entweder in Ihre JS-Datei ein:

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

Option 2: Oder verwenden Sie einfach die URL, um ' angle-route.min.js ' auf Ihren lokalen Server herunterzuladen .

und fügen Sie dann (unabhängig von der gewählten Option) diese 'ngRoute' als Abhängigkeit hinzu.

erklärt: var app = angular.module('myapp', ['ngRoute']);

Prost!!!


5
Entschuldigung, aber ich muss zugeben, dass dies der bereits gegebenen Antwort sehr ähnlich zu sein scheint?
Scotty.NET

2
... an anderen Stellen habe ich festgestellt, dass die Leute den Link / die URL zum Herunterladen oder Verweisen auf die 'angle-route.min.js' nicht finden können. Das habe ich in Antwort und Ja gegeben. Ich stimme der von Ihnen angesprochenen 'ngRoute'-Abhängigkeit zu, also habe ich das auch in meiner Antwort hinzugefügt.
Mayankcpdixit

Ich bin mehr als ein bisschen müde von der Hölle in der Bibliothek. Sicherlich muss es einen besseren Weg geben, als Modul für Modul den richtigen Stapel herauszufinden.

So geht's @SamanthaAtkins. Wenn Sie wissen, was benötigt wird, fügen Sie die Abhängigkeit ein und fügen die JS-Datei hinzu, wenn Sie keinen Code für diese Abhängigkeit haben. Obwohl ich einen besseren Weg schätzen würde, wenn jemand vorschlägt.
Mayankcpdixit

3

In meinem Fall lag es daran, dass die Datei mit falschem Umfang minimiert wurde. Verwenden Sie Array!

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

Kaffeesyntax:

app.controller 'StoreController', Array '$http', ($http) ->
  ...
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.