RequireJS,如何加载js文件

时间:2013-10-04 21:13:29

标签: requirejs

我正在尝试在main.js中加载app.js文件,但我得到了:

  

TypeError:App未定义

的index.html

<script data-main='js/main' src="require.min.js"></script>

/js/main.js

require([
    'app'
],function(App){
    console.log(App); // App is undefined
    App.initialize();
});

/js/app.js

define([
    'router'
], function(Router) {
    var initialize = function() {
        Router.initialize();

        return {
            initialize : initialize
        }
    }
});

我做错了什么?

1 个答案:

答案 0 :(得分:2)

当您需要模块'app'时,App变量将引用'app'模块返回的任何内容。但是,在您的情况下,它不会返回任何内容:

function(Router) {
    var initialize = function() {
        Router.initialize();

        return {
            initialize : initialize
        }
    }

    // returns nothing, i.e. undefined
}

看起来您应该将return块移到initialize函数之外,基本上可以将其重写为:

function (Router) {
    return {
        initialize: function() {
            Router.initialize();
        }
    }
}