Module is not available, misspelled or forgot to load (but I didn't)
JavascriptJsonAngularjsModuleAngularjs InjectorJavascript Problem Overview
I am fairly new to angular and using it with JSON api files. TO test, I am trying to use the free github api (my names for functions are for a different json api that i will be working with later). I just wanted to see if my functions were working with console.log()
, but i receive this error in the console.
> Uncaught Error: [$injector:modulerr] Failed to instantiate module > MesaViewer due to: Error: [$injector:nomod] Module 'MesaViewer' 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.
I have spelled MesaViewer
the exact same in both, and dependencies are seen in the second line!
var app = angular.module("MesaViewer");
var MainController = function($scope, $location, $http, $routeParams) {
What did I do wrong? Here is my plunk: http://plnkr.co/edit/sZPaFbzbOB6AmVCLL1vq
Javascript Solutions
Solution 1 - Javascript
It should be
var app = angular.module("MesaViewer", []);
This is the syntax you need to define a module and you need the array to show it has no dependencies.
You use the
angular.module("MesaViewer");
syntax when you are referencing a module you've already defined.
Solution 2 - Javascript
You are improperly declaring your main module, it requires a second dependencies array argument when creating a module, otherwise it is a reference to an existing module
Change:
var app = angular.module("MesaViewer");
To:
var app = angular.module("MesaViewer",[]);
Solution 3 - Javascript
I had the same error and fixed it. It turned out to be a silly reason.
> This was the culprit: <script src="app.js"/>
>
> Fix: <script src="app.js"></script>
Make sure your script tag is ended properly!
Solution 4 - Javascript
I found this question when I got the same error for a different reason.
My issue was that my Gulp hadn't picked up on the fact that I had declared a new module and I needed to manually re-run Gulp.
Solution 5 - Javascript
I have the same problem, but I resolved adding jquery.min.js before angular.min.js.
Solution 6 - Javascript
make sure that you insert your module and controller in your index.html first.
then use this code in your module var app = angular.module("MesaViewer", []);
Solution 7 - Javascript
I got this error when my service declaration was inside a non-invoked function (IIFE). The last line below did NOT have the extra () to run and define the service.
(function() {
"use strict";
angular.module("reviewService", [])
.service("reviewService", reviewService);
function reviewService($http, $q, $log) {
//
}
}());
Solution 8 - Javascript
I had the same error but i resolved it, it was a syntax error in the AngularJS provider
Solution 9 - Javascript
Using AngularJS
1.6.9+
There is one more incident, it also happen when you declare variable name different of module name.
var indexPageApp = angular.module('indexApp', []);
to get rid of this error,
> Error: [$injector:nomod] Module 'indexPageApp' 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.
change the module name similar to var declared name or vice versa -
var indexPageApp = angular.module('indexPageApp', []);