Wenn Sie den Winkel 1.2 anstelle von 1.07 verwenden, ist der folgende Code nicht mehr gültig. Warum?
'use strict';
var app = angular.module('myapp', []);
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.
when('/', {
templateUrl: 'part.html',
controller: 'MyCtrl'
}).
otherwise({
redirectTo: '/'
});
}
]);
Das Problem liegt im Injektorkonfigurationsteil (app.config):
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.0rc1/$injector/modulerr?p0=muninn&p1=Error%…eapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.0rc1%2Fangular.min.js%3A31%3A252)
Wenn ich mich richtig erinnere, begann dieses Problem mit Angular 1.1.6.
javascript
angularjs
shoen
quelle
quelle
"Error: [$injector:nomod] Module 'ngRoute' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument."
Mein Fehler verschwand, indem ich am Ende dieses '()' hinzufügte
quelle
Eine weitere Sache, die der Liste hinzugefügt werden muss, da dies das erste Ergebnis ist, das eine Google-Suche nach "Fehler: [$ Injektor: Modulerr] Winkel" ergibt:
Wenn Ihr App-Name in Ihrer 'index'html' und in Ihrer Hauptdefinition für die Javascript-App nicht übereinstimmt, kann dies ebenfalls zu diesem Fehler führen.
Zum Beispiel, wenn Ihr HTML so aussieht:
Und Ihr JavaScript sieht folgendermaßen aus (dh es gibt einen Tippfehler beim App-Namen - myWebCite anstelle von myWebSite):
dann wird auch der Fehler 'Fehler: [$ Injektor: Modulerr] Winkel' generiert.
quelle
Ein Noob-Fehler kann vergessen werden, das Modul js einzuschließen
Dateien in der index.html überhaupt
quelle
Wenn Sie Frameworks verwenden, die Dateien komprimieren, bündeln und minimieren, stellen Sie sicher, dass Sie jede Abhängigkeit explizit definieren, da diese Frameworks dazu neigen, Ihre Variablen umzubenennen. Das ist mir passiert, als ich mit ASP.NET
BundleConfig.cs
meine App-Skripte gebündelt habe.Vor
Nach
Lesen Sie hier mehr über Angular Dependency Annotation.
quelle
Wenn Sie diesen Fehler in der Konsole haben
([$injector:nomod], MINERR_ASSET:22)
, stellen Sie sicher, dass Sie Ihren Anwendungscode nicht einschließen, bevor Sie ihn ladenAngularJS
Ich tat das und als ich die Bestellung korrigierte, verschwand der Fehler.
quelle
Ich habe gerade den gleichen Fehler festgestellt, in meinem Fall wurde er durch das
angular.module
Fehlen des zweiten Parameters verursacht - hoffentlich kann dies jemandem mit dem gleichen Problem helfen.angular.module('MyApp');
angular.module('MyApp', []);
quelle
quelle
Ich hatte das gleiche Problem und versuchte alle möglichen Lösungen. Aber schließlich habe ich aus der Dokumentation erfahren, dass das
ngRoute
Modul jetzt getrennt ist. Schauen Sie sich diesen Link anLösung: Fügen Sie nach dem Skript angle.min.js die Datei cdn angle -route.js hinzu
quelle
Ein weiterer Auslöser für diesen Fehler ist das Verlassen des "." vor Ihrem "Andernfalls" oder einer anderen Route in Ihrer Routendefinition:
Wieder einmal durch einen Punkt beschämt. Ich muss JS lieben!
quelle
Wenn Sie diesen Fehler in console (
[$injector:nomod]
,MINERR_ASSET:22
) haben, aber alles gut zu funktionieren scheint, stellen Sie neben der folgenden Antwort sicher, dass Ihre index.html keine doppelten Includes enthält.Da dieser Fehler auch ausgelöst werden kann, wenn Sie doppelte Includes der Dateien haben, die dieses Modul verwenden und vor der Datei mit der tatsächlichen Moduldeklaration enthalten sind.
quelle
Wenn Sie das offizielle Tutorial von anglejs https://docs.angularjs.org/tutorial/step_07 durchgehen
Bitte beachten Sie auch von ngRoute api https://docs.angularjs.org/api/ngRoute
quelle
John Papa hat mein Problem zu diesem eher obskuren Kommentar angegeben: Manchmal, wenn Sie diesen Fehler erhalten, bedeutet dies, dass Sie eine Datei vermissen. In anderen Fällen bedeutet dies, dass das Modul nach seiner Verwendung definiert wurde. Eine Möglichkeit, dies einfach zu lösen, besteht darin, die Moduldateien * .module.js zu benennen und diese zuerst zu laden.
quelle
Mein Problem war in der config.xml. Ändern:
zu
repariert.
quelle
Es ist ein Injektorfehler. Möglicherweise haben Sie viele JavaScript-Dateien verwendet, sodass der Injektor möglicherweise fehlt.
Einige sind hier:
Bitte überprüfen Sie den Injektor, den Sie in Ihren einführen müssen
app.js
quelle
Manchmal habe ich diesen Fehler gesehen, wenn Sie zwischen den Projekten wechseln und die Projekte nacheinander auf demselben Port ausführen. In diesem Fall gehen Sie zu Chrome Developer Tools> Network und versuchen Sie, die tatsächlich geschriebene js-Datei auf Folgendes zu überprüfen :
if the file match with the workspce
. Um dies zu beheben, wählen SieDisable Cache
unter Netzwerk.quelle
Nach vielen Monaten kehrte ich zurück, um eine AngularJS ( 1.6.4 ) -App zu entwickeln, für die ich Chrome (PC) und Safari (MAC) zum Testen während der Entwicklung auswählte. Dieser Code zeigte diesen Fehler an: $ insertor: modulerr Module Error in IE 11.0.9600 (Windows 7, 32-Bit).
Bei der Untersuchung wurde klar, dass der Fehler auf die Verwendung der forEach- Schleife zurückzuführen war. Ersetzte einfach alle forEach- Schleifen durch normale for- Schleifen, damit die Dinge so funktionieren, wie sie sind ...
Es war im Grunde ein IE11-Problem ( hier beantwortet ) und kein AngularJS-Problem, aber ich möchte diese Antwort hier einfügen , da die ausgelöste Ausnahme eine AngularJS-Ausnahme war. Hoffe, es würde einigen von uns da draußen helfen.
ähnlich. benutze keine Lambda-Funktionen ... ersetze einfach () => {...} durch eine gute alte Funktion () {...}
quelle
Ich hatte dieses Problem und nachdem ich meinen Code Zeile für Zeile überprüft hatte, sah ich dies
Ich habe es gerade geändert
und es hat funktioniert. Überprüfen Sie also Ihre Tags.
quelle