Angular JS未被捕获的错误:

我有一个问题与angularJS接收到一个错误:未捕获的错误:[$注射器:modulerr]。 我的JS文件看起来

angular.module('MyApp', ['ngRoute']); angular.module('MyApp',['ngResource']); function TwitterCtrl($scope,$resource){ } 

我还包括angular度路由 – 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"> 

Angular文档说这个问题是http://docs.angularjs.org/api/ngRoute

尝试添加这个:

 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js"></script> 

尝试添加:

 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js"> 

和:

 angular.module('MyApp', ['ngRoute','ngResource']); function TwitterCtrl($scope,$resource){ } 

您应该只对所有依赖项调用angular.module一次,因为使用当前代码,您将创build一个覆盖前一个的新MyApp模块。

从angular度logging :

请注意,使用angular.module('myModule',[])将创build模块myModule,并覆盖任何现有的名为myModule的模块。 使用angular.module('myModule')来检索现有的模块。

在发展中,我build议你使用不缩小的分配 :所有的错误变得更多的信息! 相反,angular.min.js使用angular.js

 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.js"> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.js"> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.js"> 

确保你的函数封装在一个闭包中,并在最后加上extra():

 (function(){ var app = angular.module('myApp', []); })(); 

我以前有同样的问题,但我意识到,我没有在我的主页( index.html )中包含“ app.js ”(主要应用程序)。 所以,即使包含了AngularJS所需的所有依赖项,也可能会在控制台中出现错误。 所以,一定要确保在主页面中包含必要的文件,而不应该有这个问题。

希望这可以帮助。

问题是由于缺lessngRoute模块。 从版本1.1.6开始,它是一个独立的部分:

 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script> var app = angular.module('myapp', ['ngRoute']); 

这是从以下引用: AngularJS 1.2 $注入器:modulerr David答案

我得到这个错误,因为我有一个未加载的另一个模块的依赖。

angular.module(“app”,[“kendo.directives”])。控制器(“MyCtrl”,function(){} …

所以即使我拥有所有的Angular模块,我也没有剑道模块。

确定如果你得到一个Uncaught Error: [$injector:modulerr]和angular模块是在告诉你的错误,你有一个重复的ng-app模块。

我有完全相同的问题,什么解决了它是删除封闭:

 $(function(){ var app = angular.module("myApp", []); app.controller('myController', function(){ ... }); }); 

变为:

 var app = angular.module("myApp", []); app.controller('myController', function(){ ... }); 

确保包含您的angular.module的variables结构正确。

这将失败,“未捕获的错误:[$注射器:modulerr]”:

 var angApp = angular.module("angApp"); 

这工作:

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

这是一个鬼鬼祟祟的,因为错误信息并没有特别指出一件事情(因此,各种各样的答案)。 此外,大多数js linters不会了解详情。 坚持下去!

我有同样的问题。 你应该在这样的任何函数之外input你的Angular js代码:

 $( document ).ready(function() {}); 

该错误意味着dependency injection器无法find依赖项“ngResource”。 接受答案中的脚本标签提供了这种依赖关系。

如果您在依赖关系中添加了任何自定义模块,但是没有添加包含依赖关系的“.js”文件的脚本标记,您也会得到相同的错误。

只是抛出这个,以防万一它有帮助,我有这个问题,原因是因为当我捆绑我的Angular的东西我引用主要的应用程序文件为“AngularWebApp”而不是“AngularWebApp.js”,希望这有助于。

我也有同样的问题,我刚从BundleConfig.cs文件中删除了以下代码行,我的代码工作正常。

BundleTable.EnableOptimizations = true;