Lorsque vous utilisez angulaire 1.2 au lieu de 1.07, le code suivant n'est plus valide, pourquoi?
'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: '/'
});
}
]);
le problème est dans la partie configuration de l'injecteur (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)
Si je me souviens bien, ce problème a commencé avec 1.1.6 angulaire.
javascript
angularjs
shoen
la source
la source
"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."
mon erreur a disparu en ajoutant ce '()' à la fin
la source
Une dernière chose à ajouter à la liste car c'est le premier résultat qui aboutit à une recherche google de «Erreur: [$ injector: modulerr] angular»:
Si vous avez un décalage entre le nom de votre application dans votre 'index'html' et dans la définition de votre application javascript principale, cela peut également générer cette erreur.
Par exemple, si votre code HTML ressemble à ceci:
Et votre JavaScript ressemble à ceci (c'est-à-dire qu'il a une faute de frappe sur le nom de l'application - myWebCite au lieu de myWebSite):
alors l'erreur "Erreur: [$ injector: modulerr] angular" sera également générée.
la source
Une erreur noob peut être oublier d'inclure le module js
fichiers dans le index.html du tout
la source
Pour ceux qui utilisent des frameworks qui compressent, regroupent et réduisent les fichiers, assurez-vous de définir explicitement chaque dépendance car ces frameworks ont tendance à renommer vos variables. Cela m'est arrivé lors de l'utilisation d'ASP.NET
BundleConfig.cs
pour regrouper mes scripts d'application.Avant
Après
En savoir plus ici sur l'annotation de dépendance angulaire.
la source
Si vous avez cette erreur dans la console
([$injector:nomod], MINERR_ASSET:22)
, assurez-vous de ne pas inclure votre code d'application avant de chargerAngularJS
Je faisais cela et une fois que j'ai fixé la commande, l'erreur a disparu.
la source
Je viens de rencontrer la même erreur, dans mon cas, elle est due au fait que le deuxième paramètre
angular.module
est manquant - j'espère que cela peut aider quelqu'un avec le même problème.angular.module('MyApp');
angular.module('MyApp', []);
la source
la source
J'ai eu le même problème et j'ai essayé toutes les solutions possibles. Mais finalement, j'ai appris grâce à la documentation que le
ngRoute
module est maintenant séparé. Jetez un œil à ce lienSolution: ajoutez le cdn angular-route.js après le script angular.min.js
la source
Un autre déclencheur de cette erreur est de quitter le "." avant votre "sinon" ou tout autre itinéraire dans votre définition d'itinéraire:
Mortifié par un point final, encore une fois. Je dois aimer JS!
la source
Outre la réponse ci-dessous, si vous avez cette erreur dans la console (
[$injector:nomod]
,MINERR_ASSET:22
), mais que tout semble bien fonctionner, assurez-vous que vous n'avez pas d' inclusions en double dans votre index.html.Parce que cette erreur peut également être déclenchée si vous avez des inclusions en double des fichiers, qui utilisent ce module et sont incluses avant le fichier avec la déclaration de module réelle.
la source
Si vous passez par le tutoriel officiel d'angularjs https://docs.angularjs.org/tutorial/step_07
Veuillez également noter de ngRoute api https://docs.angularjs.org/api/ngRoute
la source
John Papa a fourni mon problème sur ce commentaire plutôt obscur: Parfois, lorsque vous obtenez cette erreur, cela signifie qu'il vous manque un fichier. D'autres fois, cela signifie que le module a été défini après son utilisation. Une façon de résoudre ce problème est de nommer les fichiers de module * .module.js et de les charger en premier.
la source
Mon problème était dans le config.xml. En changeant:
à
l'a corrigé.
la source
C'est une erreur d'injecteur. Vous devrez peut-être utiliser beaucoup de fichiers JavaScript, de sorte que l'injecteur peut être manquant.
Certains sont ici:
Veuillez vérifier l'injecteur que vous devez insérer dans votre
app.js
la source
Parfois, j'ai vu cette erreur lorsque vous basculez entre les projets et exécutez les projets sur le même port l'un après l'autre. Dans ce cas goto chrome Outils de développement> Réseau et essayer de vérifier le fichier js écrit réel pour:
if the file match with the workspce
. Pour résoudre ce problème, sélectionnezDisable Cache
sous réseau.la source
Après plusieurs mois, je suis revenu pour développer une application AngularJS ( 1.6.4 ), pour laquelle j'ai choisi Chrome (PC) et Safari (MAC) pour les tests pendant le développement. Ce code présente cette erreur: $ injector: module Module Error sur IE 11.0.9600 (Windows 7, 32 bits).
Après enquête, il est devenu clair que l'erreur était due à l' utilisation de la boucle forEach , juste remplacé toutes les boucles forEach par des boucles normales pour que les choses fonctionnent telles quelles ...
C'était essentiellement un problème IE11 (répondu ici ) plutôt qu'un problème AngularJS, mais je veux mettre cette réponse ici parce que l'exception soulevée était une exception AngularJS. J'espère que cela pourrait aider certains d'entre nous.
De même. n'utilisez pas les fonctions lambda ... remplacez simplement () => {...} par une bonne vieille fonction () {...}
la source
J'ai eu ce problème et après avoir vérifié mon code ligne par ligne, j'ai vu cela
je viens de le changer en
et ça a marché. alors vérifiez vos balises.
la source