web-dev-qa-db-fra.com

Le module n'est pas disponible, mal orthographié ou oublié de charger (mais ce n'est pas le cas)

Je suis assez nouveau pour angular et l'utiliser avec les fichiers api JSON. Pour tester, j'essaie d'utiliser l'api gratuit github (mes noms de fonctions correspondent à un api json différent avec lequel je travaillerai ultérieurement). Je voulais juste voir si mes fonctions fonctionnaient avec console.log(), mais je reçois cette erreur dans la console.

Erreur non capturée: [$ injector: modulerr] Impossible d'instancier le module MesaViewer en raison de: Erreur: [$ injector: nomod] Le module 'MesaViewer' n'est pas disponible! Vous avez mal orthographié le nom du module ou vous avez oublié de le charger . Si vous enregistrez un module, assurez-vous de spécifier les dépendances sous la forme le deuxième argument.

J'ai orthographié MesaViewer exactement la même chose dans les deux cas, et les dépendances apparaissent dans la deuxième ligne!

var app = angular.module("MesaViewer");
var MainController = function($scope, $location, $http, $routeParams) {

Qu'est-ce que j'ai mal fait? Voici mon plunk: http://plnkr.co/edit/sZPaFbzbOB6AmVCLL1vq

47
Ian McCleary

CA devrait etre 

var app = angular.module("MesaViewer", []);

C'est la syntaxe dont vous avez besoin pour définir un module et vous avez besoin que le tableau montre qu'il n'a aucune dépendance.

Vous utilisez le 

angular.module("MesaViewer");

syntaxe lorsque vous référencez un module que vous avez déjà défini.

83
Matt Herbstritt

Vos commentaires sur le maître principal, les informations dont vous avez besoin pour résoudre les problèmes de dépendance et les conséquences négatives, ainsi que le nombre de références et la quantité de ressources existantes

Mudança:

var app = angular.module("MesaViewer");

Para:

var app = angular.module("MesaViewer",[]);

Working Version

13
charlietfl

J'ai eu la même erreur et je l'ai corrigé… .. Il s'est avéré que c'était une raison stupide. 

C'était le coupable: <script src="app.js"/>

Correction: <script src="app.js"></script>

Assurez-vous que votre balise de script est terminée correctement!

8
Sruthi Poddutur

J'ai trouvé cette question quand j'ai eu la même erreur pour une raison différente. 

Mon problème était que mon Gulp n'avait pas compris le fait que j'avais déclaré un nouveau module et que je devais ré-exécuter manuellement Gulp.

6
Slicedbread

J'ai le même problème, mais j'ai résolu d'ajouter jquery avant angular.min.js.

4
Roberth Godoy

assurez-vous que vous insérez d’abord votre module et votre contrôleur dans votre index.html . puis utilisez ce code dans votre module _var app = angular.module("MesaViewer", []);

1
sandeep kumar

Utilisation de AngularJS 1.6.9+

Il y a un autre incident, il se produit également lorsque vous déclarez un nom de variable différent du nom du module.

var indexPageApp = angular.module('indexApp', []);

se débarrasser de cette erreur, 

Erreur: [$ injector: nomod] Le module 'indexPageApp' n'est pas disponible! Vous soit mal orthographié le nom du module, soit oublié de le charger. Si vous vous enregistrez un module veille à spécifier les dépendances en tant que deuxième argument.

changer le nom du module similaire à var nom déclaré ou vice versa -

var indexPageApp = angular.module('indexPageApp', []);
1
ArifMustafa

J'ai eu la même erreur mais je l'ai résolue, c'était une erreur de syntaxe dans le fournisseur AngularJS

1
noushad mohammed