RequireJS中的AngularJS模块创建依赖于定义

时间:2014-10-06 13:57:36

标签: javascript angularjs requirejs angular-ui-router

我在RequireJS define方法中创建AngularJS模块时遇到问题。

当我参考我需要的ui-router模块时,Angular告诉我:

Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:nomod] Module 'myApp' 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.

只有在requireJS依赖列表中定义uiRouter时才会发生这种情况。

这是我的代码:

require.config({
    paths : {
        'angular' : "/script/lib/angular",
        'uiRouter' :"/script/lib/angular-ui-router",

    },
    shim : {
        'angular': {
            exports : 'angular'
        },
        'uiRouter' : {
            deps : ['angular']
        }
    }

});

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

如果我从定义依赖关系数组中取出uiRouter,一切都按预期工作。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要将ui.router添加到模块中。

define(['angular', 'uiRouter'], function (angular) {
    var module = angular.module('myApp', ['ui.router']);
});
编辑:我添加了以下内容:

define('myApp', ['angular', 'uiRouter'], function (angular) {
    var module = angular.module('myApp', ['ui.router']);
});