this awesome answerのおかげで、JavaScriptアプリケーション(シングルページ)にシングルトンパターンのようなものを置くことができました。残念ながら、私はまだこれが実際にどのように動作するかを理解することにはまだ問題があります。これは、require()
の呼び出しが実際にどのように詳細に機能するかを実際には理解していないことに関連している可能性があります。JavaScript:モジュールベースのシングルトンパターンを理解する
リンク答え引用する:
最初のモジュールに必要で、それをロードし、エクスポートします。あなたのシングルトンを必要とする他のモジュールでは、すでにエクスポートされているものだけを再利用します。
define(function (require) {
var singleton = function() {
return {
...
};
};
return singleton();
});
だからプロセスは以下のように、ちょうど私がそれを理解していることを確認することです(まだ引用)。何か問題があれば、プロセス記述を修正してください。
モジュールA
では、私はシングルトンモジュールを引きます。
このモジュールの内部には、オブジェクトを返す関数が定義されています。モジュールのreturn/export値は、その関数の結果です。
モジュールB
では、私もrequire
シングルトンモジュールを使用し、シングルトンが最初にrequire
だったときに作成された同じオブジェクトを取得します。
シングルトンのデータは、最初と次の間でどこに必要ですか?
私はこのオブジェクトの共有の仕組みを理解できませんが、私はいつもrequire
を「バーチャルペースト」と考えましたが、これはかなり間違っているようです。実際に何が起こっていますか?