2

关于这个问题:Node.js module.exports 的目的是什么,你如何使用它?

我是 Javascript 初学者。在引用的问题中...

mymodule.js 代码

var myFunc = function() { ... };
exports.myFunc = myFunc;

主js文件

var m = require('./mymodule.js');
m.myFunc();

mymodule 本质上是定义对象的类文件吗?

4

2 回答 2

4

Node.js 允许将代码分成不同的模块。这些模块只是可以使用exports对象公开函数或对象的 javascript 文件。

  1. 这个约定有更多细节
  2. Node.js 模块的好文档

JavaScript 中没有类,但您可以使用模式来模拟该行为。有一个关于在 JavaScript 中实现 OOP 模式的问题:创建 javascript 类时使用什么模式?

作为初学者,有一些非常好的 JavaScript 书籍:

  1. JavaScript:好的部分
  2. JavaScript 模式

它们很短,可以让您很好地了解 JavaScript 语言。

于 2012-07-14T21:34:06.720 回答
2

mymodule 本质上是定义对象的类文件吗?

和函数,虽然在 Javascript 中函数对象,所以区别可能没有实际意义。

重要的是,每个模块都有自己的范围,因此var在其中声明的任何内容都不会在模块外部可见。

您关于用户和列表的其余问题没有书面意义。Javascript OO 编程本身就是一个完整的主题,模块系统并没有真正改变这一点。模块只是包装代码库的一种方式。

于 2012-07-14T21:37:09.060 回答