【发布时间】:2013-07-26 09:58:22
【问题描述】:
我知道我可以将module.exports 设置为对象或函数
(在某些情况下,函数会返回一个对象)。
我也知道使用 exports 与 module.exports 的区别和方法,因此无需对此发表评论。
我还了解到,返回的任何内容都会被缓存,并将在任何连续调用require 时返回。因此,如果我选择返回一个函数而不是一个对象,那么这可能意味着在每个 require 上都必须实际运行这个函数。
我想知道是否应该使用这两者中的哪一个有任何事实上的标准。或者,如果没有这样的标准——在决定我的模块是否应该返回一个对象、一个函数或更复杂的东西时,需要考虑哪些因素......
如果重要的话,我打算编写的模块有望用作 express 应用程序的一部分(也许 express/connect 模块有一个“本地事实标准”)。
【问题讨论】: