Node.js module.exports的用途是什么,如何使用它?

mrwooster:

Node.js module.exports的用途是什么,如何使用它?

我似乎找不到任何相关信息,但是正如我在源代码中经常看到的那样,它似乎是Node.js的重要组成部分。

根据Node.js文档

模组

对当前的引用module特别module.exports是与导出对象相同。请参阅src/node.js以获取更多信息。

但这并没有真正的帮助。

究竟是module.exports做什么的,一个简单的例子是什么?

Alnitak:

module.exportsrequire调用结果实际返回的对象

exports变量最初设置为相同的对象(即,它是速记的“别名”),因此在模块代码中,您通常会编写如下内容:

let myFunc1 = function() { ... };
let myFunc2 = function() { ... };
exports.myFunc1 = myFunc1;
exports.myFunc2 = myFunc2;

导出(或“暴露”)内部作用域函数myFunc1myFunc2

在调用代码中,您将使用:

const m = require('./mymodule');
m.myFunc1();

最后一行显示require(通常)结果如何访问其属性的普通对象。

注意:如果您覆盖exports,则将不再引用module.exports因此,如果您希望分配一个新对象(或函数引用),exports则还应该将该新对象分配给module.exports


值得注意的是,添加到exports对象的名称不必与要添加的值的模块内部作用域名称相同,因此您可以:

let myVeryLongInternalName = function() { ... };
exports.shortName = myVeryLongInternalName;
// add other objects, functions, as required

其次是:

const m = require('./mymodule');
m.shortName(); // invokes module.myVeryLongInternalName

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章