私はJavascriptでモジュールパターン(またはモジュールパターンを明らかにする)(私が理解していること)を試してきました。現時点での主な目的は、コードの整理とプロジェクトのグローバル スペースのクリーンアップですが、他にも多くの利点があると確信しています。
私が従ってきた基本的なパターンは、ほとんど次のようになります。
var myThing = (function(w, $) {
var priv = {
// ... private methods
};
var public = {
// ... public methods
};
return public;
})(window, jQuery);
これの主な利点は、obj の内部メソッドとプロパティを隠すことにより、コードがよりクリーンになり、構造が改善されることです。私が見ていない明白なメリットは他にありますか? このパターンをいつ、いつ使用しないのか、本当に疑問に思っています。
問題 1:私が気に入っていることの 1 つは、window と jQuery への省略形の参照として w と $ を渡すことができることですが、これに別のライブラリを追加しようとすると、機能しないようです (特に速度.js)。
編集: jQuery を含めたので、速度はそれ自体をグローバル jQuery obj にアタッチします。インポートは速度ではないグローバル用であるため、同じ方法でインポートすることはできません。
問題 2:次に、読み込み順序に関係なくこのパターンを機能させることが可能であるとどこかで読んだことがありますが、それは本当ですか?もしそうなら、どのように変更すべきですか?
NB :重要なことに、require や borwserify の実装などの代替ではなく、このパターンとそれで可能なことを理解しようとしています。