如何在节点模块中构造类?

时间:2012-01-01 22:44:49

标签: javascript class node.js module

在节点模块中处理大量类时,以下机制是个好主意还是有更好的方法来实现这个目标?

// mymodule/core.js

module.exports = {
    ClassA: require('./class/ClassA'),
    ClassB: require('./class/ClassB'),
    ClassC: require('./class/ClassC')
}

// mymodule/class/ClassA.js

module.exports = function() {
    ...
}

// myapp.js

var core = require('mymodule/core')
  ;

var a = new core.ClassA();

上述想法是将类保持在物理上独立的模块中进行维护,同时提供易于使用的命名空间。

1 个答案:

答案 0 :(得分:0)

对我而言,使用它们在模块中拉入您正在使用的模块会更清楚。您无法解决模块具有这些依赖关系的事实,并且读取代码的其他人将更容易看到正在使用的内容。

此外,如果您曾想重复使用单个模块,则必须随身携带core.js模块及其所有依赖项 - 模块与之耦合。