是否可以在整个应用程序的Node.js上保留一个实例?
我想在模块中实例化一个类,如下所示:是否可以在整个应用程序的Node.js上保留一个实例?,node.js,Node.js,我想在模块中实例化一个类,如下所示: const Agenda = require('agenda'); const agenda = new Agenda({db: {address: mongoConnectionString}}); const agenda = global.agenda; 然后从代码中的其他地方访问议程已配置的对象(如单例)。起初我考虑使用module.exports=agenda我知道,但这是一种反模式,是一种非常糟糕的做法。我正在寻找另一种选择。有一篇很好的文
const Agenda = require('agenda');
const agenda = new Agenda({db: {address: mongoConnectionString}});
const agenda = global.agenda;
然后从代码中的其他地方访问
议程
已配置的对象(如单例)。起初我考虑使用module.exports=agenda但是当我在应用程序的另一个模块中需要这个模块时,它会再次执行所有代码,对吗
那么,如果我没有错的话,实现这一目标的最佳方法是什么?谢谢。您可以使用全局对象在节点应用程序中的任何位置共享变量:
const Agenda = require('agenda');
const agenda = new Agenda({db: {address: mongoConnectionString}});
global.agenda = agenda;
然后你可以在另一个模块中获得你的议程,如下所示:
const Agenda = require('agenda');
const agenda = new Agenda({db: {address: mongoConnectionString}});
const agenda = global.agenda;
“但是,当我在应用程序的另一个模块中需要这个模块时,它将再次执行所有代码?”->我知道,但这是一种反模式,是一种非常糟糕的做法。我正在寻找另一种选择。有一篇很好的文章解释