CommonJs:初始化代码放在哪里?

CommonJs: where to put initialization code?

学习 CommonJS 并尝试弄清楚将初始化私有变量的代码放在哪里。在 C# 或 Java 中,我会使用构造函数,但我无法弄清楚 how/where 使用 CommonJs 实现此目的。

下面是一些代码来说明我的要求:

var _myPrivateVariable;

var CoolModule = {
{
    foo: function(task) {
    //do something that relies on _myPrivateVariable having been properly initialized

    },
    bar: function(task) {
    //do something that relies on _myPrivateVariable having been properly initialized

    },

module.exports = CoolModule

在您第一次使用 require('./CoolModule') 时,节点 运行 您的模块代码并缓存它。

所以你的 CoolModule 就像一个 singleton

Java脚本没有Java-like class,可以使用构造函数来初始化。

var _myPrivateVariable;

// function constructor
function CoolModule(args) {


}

CoolModule.prototype.foo = function(task) {

};
CoolModule.prototype.bar = function(task) {

};

module.exports = CoolModule;

然后

var CoolModule = require('./CoolModule');
var cool = new CoolModule(args);

cool.foo //...
cool.bar //...