Angular JS Erreur non Interceptée: [$injecteur:modulerr]
J'ai un problème avec Angular JS de recevoir une erreur : Uncaught Error: [$injecteur:modulerr].
Mon JS-fichier ressemble
angular.module('MyApp', ['ngRoute']);
angular.module('MyApp',['ngResource']);
function TwitterCtrl($scope,$resource){
}
J'ai aussi inclus angulaires-route-js
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.min.js">
Angulaire de la documentation dit que le problème est http://docs.angularjs.org/api/ngRoute
- avez-vous d'inclure
angular-resource.js
? - Où est votre ngResource reportez-vous?
- Si vous n'êtes pas sûr module est manquant, l'utilisation de la non minifiés angular.js ce qui donne un lisible message d'erreur:
- Je suis désolé, que je suis commentant une réponse qui est ce vieux, mais j'ai l'impression briankip commentaire mérite BEAUCOUP plus upvotes. Je n'avais aucune idée de la non-version minifiée Angulaire lancé plus descriptive des erreurs, et c'est la seule façon que j'ai réussi à trouver quel était le problème dans mon code. Merci @briankip
Vous devez vous connecter pour publier un commentaire.
Essayez d'ajouter ceci:
En développement, je vous recommandons d'utiliser pas minimisé distributives:
Et toutes les erreurs deviennent plus instructif!
Au lieu de cela angular.min.js utilisation angular.js
Essayez d'ajouter:
et:
Vous devriez appeler
angular.module
une seule fois avec toutes les dépendances parce qu'avec ton code actuel, vous êtes en train de créer un nouveauMyApp
module écraser la précédente.De angulaire de la documentation:
Assurez-vous que vous êtes à la fonction est enveloppé dans une clôture, complète avec le supplément de () à la fin:
app
, est devenu locale et n'est plus disponible pour le reste de l'application!J'ai déjà eu le même problème, mais j'ai réalisé que je ne comprend pas le "
app.js
" (la principale de l'application) à l'intérieur de ma page principale (index.html
).Ainsi, même lorsque vous incluez toutes les dépendances requises par AngularJS, vous pourriez vous retrouver avec cette erreur dans la console. Donc, assurez-vous de toujours inclure les fichiers nécessaires à l'intérieur de votre page principale et vous ne devriez pas avoir ce problème.
Espère que cette aide.
Le problème a été causé par le manque d'inclusion de ngRoute module. Depuis la version 1.1.6 c'est une partie distincte:
C'est l'obtention de référence à partir de: AngularJS 1.2 $injecteur:modulerr David réponse
J'ai eu cette erreur parce que j'avais une dépendance sur un autre module qui n'a pas été chargé.
donc même si j'ai eu tout le Angulaires des modules, je n'ai pas eu le kendo un.
Assurez-vous que la variable qui contient votre angulaire.le module est structuré correctement.
Cela ne fonctionne pas avec "Erreur non Interceptée: [$injecteur:modulerr]":
Cela fonctionne:
C'est un sournois puisque le message d'erreur n'a pas de point pour une chose en particulier (ce qui explique la grande variété de réponses). En outre, la plupart des js linters ne prends pas les détails. Gardez à elle!
J'ai eu le même problème. Vous devez taper votre Angulaire du code js en dehors de toute fonction comme ceci:
ok si vous obtenez un
Uncaught Error: [$injector:modulerr]
et l'angle module est dans l'erreur c'est de dire à vous, vous avez une double ng-app module.<html ng-app="vu" ...>
quand il aurait dû être<html np-app ..>
.. merciJ'ai eu exactement le même problème et résolu c'était à supprimer la fermeture:
devient:
L'erreur signifie que la dépendance de l'injecteur n'a pas pu localiser la dépendance "ngResource'. La balise script dans la accepté de répondre fournit cette dépendance.
Vous aurez également la même erreur si vous ajoutez des modules personnalisés dans les dépendances, mais ne pas ajouter la balise de script pour y compris le".js fichier contenant la dépendance.
Juste jeter cette dans dans le cas où cela peut aider, j'ai eu ce problème et la raison pour moi, c'est que quand j'ai livré mon Angulaire des trucs que j'ai référencé la principale application fichier en tant que "AngularWebApp" au lieu de "AngularWebApp.js", espérons que cette aide.
J'ai eu aussi le même problème, j'ai juste enlevé ligne de code suivante à partir de BundleConfig.cs fichier et mon code fonctionne bien.
BundleTable.EnableOptimizations = true;
Ne pas charger le javascript à l'intérieur de la can lien balise de script.Utiliser une balise de script pour le chargement de la AngularJs scripts.
J'ai eu le même problème mais j'ai créé une
<script>
Ensuite, l'erreur a disparu.