【问题标题】:Asynchronous Module Definition: difference between beta.verb() and require("beta").verb()异步模块定义:beta.verb() 和 require("beta").verb() 的区别
【发布时间】:2012-09-17 08:25:29
【问题描述】:

我正在从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();
    }
});

【问题讨论】:

    标签: javascript requirejs js-amd


    【解决方案1】:

    beta 在调用回调函数之前已经初始化为require("beta") 的值。根据该页面上define的定义:

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

    【讨论】:

    • 所以这意味着如果我使用return require("beta").verb(); 我不需要通过参数传递它。我说的对吗?
    • @LorraineBernard:是的,但您最好使用参数beta,并且不要在依赖项中包含require
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2010-11-12
    • 2014-10-10
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    相关资源
    最近更新 更多