问题
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
回答1:
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.
回答2:
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",[]);
Working Version
回答3:
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!
回答4:
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.
回答5:
I have the same problem, but I resolved adding jquery.min.js before angular.min.js.
回答6:
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", []);
回答7:
I had the same error but i resolved it, it was a syntax error in the AngularJS provider
回答8:
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', []);
来源:https://stackoverflow.com/questions/31394850/module-is-not-available-misspelled-or-forgot-to-load-but-i-didnt