Angular JS Uncaught Error:[$ injector:modulerr]

ig-*_*nyk 49 javascript routes angularjs

我遇到一个问题,Angular JS收到错误:Uncaught Error:[$ injector:modulerr].我的JS文件看起来

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

我还包括angular-route-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">
Run Code Online (Sandbox Code Playgroud)

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

Lau*_*ias 45

尝试添加此:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

  • 为什么?@ IG-MELNYK (45认同)

ulm*_*zov 39

在开发过程中,我建议你不要使用缩小的分配:并且所有错误都会变得更加丰富!而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">
Run Code Online (Sandbox Code Playgroud)

  • 好的小费,谢谢!我错过了angular-animate.js.但无论你想念什么,如果你做Ulmer-Morozov在这里所写的,你会被告知,除非你使用min-files.有价值的教训. (3认同)

Kha*_* TO 34

尝试添加:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js">
Run Code Online (Sandbox Code Playgroud)

和:

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

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

角度文档:

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


Con*_*tch 12

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

(function(){                                                                     

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


})();  
Run Code Online (Sandbox Code Playgroud)


小智 6

该问题是由于缺少 ngRoute 模块而引起的。从 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']);
Run Code Online (Sandbox Code Playgroud)

这是从以下位置获取参考:AngularJS 1.2 $injector:modulerr David 回答


All*_*lJs 6

我以前遇到过同样的问题,但我意识到app.js我的主页(index.html)中没有包含" "(主应用程序).因此,即使包含AngularJS所需的所有依赖项,您也可能在控制台中遇到该错误.因此,请始终确保在主页中包含必要的文件,否则您不应该遇到此问题.

希望这可以帮助.


Jul*_*lia 5

我有同样的问题。你应该在任何函数之外输入你的 Angular js 代码,如下所示:

$( document ).ready(function() {});
Run Code Online (Sandbox Code Playgroud)