在angularjs中找不到模块

在angularjs中找不到模块,angularjs,angularjs-module,Angularjs,Angularjs Module,我想把它包装成一个模块。我只是将代码从TokenHandler更改为UserHandler,因为在每个api请求上,我都要发送用户ID 但是,在firebug控制台中找不到模块UserHandler。这是我的全部代码: 有关部分: angular.module('UserHandler').factory('UserHandler', function() { var userHandler = {}; var user = 0; /... return us

我想把它包装成一个模块。我只是将代码从TokenHandler更改为UserHandler,因为在每个api请求上,我都要发送用户ID

但是,在firebug控制台中找不到模块UserHandler。这是我的全部代码:

有关部分:

angular.module('UserHandler').factory('UserHandler', function() {
    var userHandler = {};
    var user = 0;

    /...

    return userHandler;
});

angular.module('TicketService', ['ngResource', 'UserHandler'])
       .factory('Ticket', ['$resource', 'UserHandler',
                function($resource, userHandler){

    var Ticket = $resource('/api/tickets/:id1/:action/:id2',
    {
        id1:'@id'
    }, 

    { 
        list: {
            method: 'GET'
        }
    }); 

    Ticket = userHandler.wrapActions( Ticket, ["open", "close"] );

    return Ticket;
}]); 

知道为什么会这样吗?如何修复它?

许多人都落入了同样的陷阱。包括我在内

以下内容未定义新模块。它将尝试检索名为
UserHandler
的模块,该模块尚未定义

angular.module('UserHandler')
提供一个依赖项(空)数组作为第二个参数将定义您的模块

angular.module('UserHandler', [])

我是javascript新手,花了几个小时来发现我的问题。可以忽略模块初始化功能。为了避免这种情况,请不要忘记在函数末尾添加空括号:

(function() {
    "use strict";
    var app = angular.module("app", []);
    })(); //<<---Here
(函数(){
“严格使用”;
var-app=angular.module(“app”,[]);

})(); // 另外,不要忘记在
index.html
中添加新模块:

<script src="app/auxiliary/test.module.js"></script>
<script src="app/auxiliary/test.route.js"></script>
<script src="app/auxiliary/test.controller.js"></script>


很好,控制器创建了一些不工作的东西!我使用yo生成角度模板(请参见),这会创建一个如下的控制器:angular.module('clientApp').controller('MycontrollerCtrl',function($scope){…}),但它不起作用。我需要将[]添加到angular.module()以使其工作。这个问题是关于定义模块的。您的示例向现有模块注册控制器。你也遇到了同样的困惑:)不是针对这个特殊情况,但可能会有所帮助(这篇文章在谷歌上的搜索排名很高):如果你的模块在一个单独的文件中,它也必须包含在html中: