我知道我可以设置module.exports
为一个对象或一个函数(在某些情况下,一个函数将返回一个对象)。
我也知道使用exports
vs.的差异和方式,module.exports
所以无需对此发表评论。
我也明白返回的任何内容都会被缓存,并将在任何连续调用require
. 因此,如果我选择返回一个函数而不是一个对象,那么这可能意味着在每个 require 上都需要实际运行这个函数。
我想知道是否应该使用这两者中的哪一个有任何事实上的标准。或者,如果没有这样的标准——在决定我的模块是否应该返回一个对象、一个函数或更复杂的东西时,需要考虑哪些因素......
如果重要的话,我打算编写的模块预计将用作 express 应用程序的一部分(也许 express/connect 模块有一个“本地事实标准”)。