我正在尝试将一些代码放入我的node.js应用程序中。但是,我遇到了一个问题:该模块需要在应用启动期间生成的一些配置。有没有一种优雅的方法来初始化模块(通过传入配置)第一次需要()d,但后续的require()调用不会重新运行初始化?
我可以做一些像我第一次手动调用的init()函数,但是再也没有,但这看起来很笨重,我想知道它是否有更好的模式。
编辑:这就是我现在正在做的事情,因为如果没有调用init(),doThings()就无法工作,这感觉很笨拙。
var config;
function doThings() {
// use config variable for something
}
function init(newConfig) {
config = newConfig;
}
module.exports = {
doThings: doThings,
init: init
}