出口和requirejs之间的关系

时间:2014-03-31 02:04:34

标签: requirejs

根据我的理解,导出仅适用于nodejs,因为我在节点中看到了它。 Requirejs仅在浏览器端使用。 它是否正确?

require.js,exports之间的关系是什么?

1 个答案:

答案 0 :(得分:0)

Node.js模块是根据CommonJS格式定义的。 RequireJS允许您在传递给define的回调中包装以CommonJS格式定义的模块。这个Node.js模块:

var foo = require("./foo");

function bar(whatever) {
    foo(whatever+1);
}

exports.bar = bar;

可以与RequireJS一起使用:

define(function(require, exports, module) {
    var foo = require("./foo");

    function bar(whatever) {
        foo(whatever+1);
    }

    exports.bar = bar;
});

此支持记录在案here

RequireJS'“native”格式的声明模块是AMD格式。在这种格式中,您不使用exports,而是使用传递给define的工厂函数返回要导出的对象:

define(["./foo"], function(foo) {
    function bar(whatever) {
        foo(whatever+1);
    }

    return { bar: bar };
});