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;