如何构build节点模块中的类?

当在一个节点模块中处理很多类时,下面的机制是一个好主意,还是有更好的方法来实现?

// 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(); 

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

对我来说,使用模块在模块内拉动模块要清楚得多。 你无法避开模块具有这些依赖关系的事实,并且读取代码的其他人将更容易看到正在使用的内容。

另外,如果你想重复使用一个单独的模块,你还必须携带core.js模块,以及它的所有依赖关系。