根据我的理解,导出仅适用于nodejs,因为我在节点中看到了它。 Requirejs仅在浏览器端使用。 它是否正确?
require.js,exports之间的关系是什么?
答案 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 };
});