私はAMDとの連携を強化しようとしていますが、jQueryソースで、まったく理解できない何かに出くわしました。
ここにセクションがあります(ファイルの終わりの直前にあります):
if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
define( "jquery", [], function () { return jQuery; } );
}
私が見ることができることから、AMDの主要なポイントの1つは、グローバルスコープをクリーンに保つことです。それでも、jQueryはそれ自体への参照をモジュールとして返すことを選択しますが、それでもグローバル空間に感染します。
「jQuery.noConflict();」を追加すると、私には思えます。リターンの直前にこれが解決され、オブジェクトがモジュールとして返されます。
RequireJSにはjQuery専用の特別なファイルがいくつかあることは知っていますが、1.7以降で必要かどうかはわかりません。
私の質問は2つの部分です:
1)この決定がなされた理由を誰かが知っていますか?
2)このアプローチはアップグレードに適していませんが、RequireJSとjQueryの標準バージョンを利用するより洗練されたソリューションに精通している人はいますか?