异步模块定义:beta.verb()和require(“beta”)之间的区别.verb()

时间:2012-09-17 08:25:30

标签: javascript requirejs js-amd

我正在研究wiki.commonjs.org的异步模块定义 我想知道这段代码的含义是什么 特别是,我的问题是:
return beta.verb();return require("beta").verb();具有相同的效果 如果没有什么区别?

define("alpha", ["require", "exports", "beta"], function (require, exports, beta) {
    exports.verb = function() {
        return beta.verb();
        //Or:
        return require("beta").verb();
    }
});

1 个答案:

答案 0 :(得分:2)

在调用回调函数之前,

beta已初始化为require("beta")的值。根据该页面上define的定义:

  

必须在执行模块工厂函数之前解析依赖关系[argument],并且解析后的值应作为参数传递给工厂函数,其参数位置对应于依赖关系数组中的索引