Я пытаюсь получить больше в строке с AMD, и я наткнулся на что-то в исходном коде jQuery, которое я просто не могу предпринять.
Вот раздел (найденный незадолго до концафайла):
if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
define( "jquery", [], function () { return jQuery; } );
}
Из того, что я вижу, одним из основных моментов AMD является поддержание чистоты глобального охвата.Тем не менее, jQuery предпочитает возвращать ссылку на себя как на модуль, но все же заражает глобальное пространство.
Мне кажется, что добавление "jQuery.noConflict ();";незадолго до того, как return разрешит это и все еще вернет объект в виде модуля.
Я знаю, что RequireJS имеет несколько специальных файлов специально для jQuery, но я не уверен, что он необходим для 1.7 +.
Мой вопрос состоит из 2 частей:
1) Кто-нибудь знает, почему было принято это решение?
2) Поскольку этот подход не подходит для обновления, кто-нибудь знаком с более элегантным решением?который использует стандартную версию RequireJS и jQuery?