2017-11-10 4 views
1

私はこのようなモジュールでクラスをインスタンス化したい:Node.js上のインスタンスをアプリケーション全体に保持することは可能ですか?

const Agenda = require('agenda'); 

const agenda = new Agenda({db: {address: mongoConnectionString}}); 

、その後(シングルトンのような)コードに他の場所からagendaすでに設定されているオブジェクトにアクセスします。最初に私はmodule.exports = agenda;を使用することを考えましたが、このモジュールをアプリケーションの別のモジュールに必要とするときに、すべてのコードをもう一度正しく実行しますか?

私が間違っていない場合、これを達成するための最良の方法は何ですか?ありがとう。

+0

「が、その後、私は必要とするときこのモジュールは、アプリケーションの別のモジュールにすべてのコードを再度実行しますか? - > nope –

答えて

1

あなたのノード・アプリケーションの至る所に変数を共有するグローバルオブジェクトを使用することができます。

const Agenda = require('agenda'); 

const agenda = new Agenda({db: {address: mongoConnectionString}}); 

global.agenda = agenda; 

をそしてあなたは、このような別のモジュールであなたの議題を取得することができます:

const agenda = global.agenda; 
+0

はい、私は知っていますが、これは反パターンと非常に悪い習慣です。私は別のオプションを探しています。 –

+0

[nodejsで真のシングルトンパターンを作成する方法]についての素晴らしい記事があります(https://derickbailey.com/2016/03/09/creating-a-true-singleton-in-node-js-with-es6記号/) – YouneL

関連する問題