У меня есть временное исправление, основанное на нескольких факторах, касающихся кода, который я обновляю, но это не идеальное решение. (Я полагаю, что окончательным решением будет разделение пользовательских расширений на отдельные отдельные файлы плагинов и включение их в списки зависимостей, где они необходимы)
Одна из проблем, с которыми я сталкиваюсь, заключается в следующем это старая кодовая база. В настоящее время у меня нет времени полностью обновить / обновить все библиотеки и тщательно их протестировать, поскольку текущий проект является приоритетным. Но версия jquery, используемая существующим кодом, является старой версией, которая, вероятно, даже не полностью AMD. Функциональность, которую использует мой новый код, довольно проста c (в основном это просто ajax) и работает как с новой, так и со старой версиями. Я не могу быть уверен в использовании устаревшего кода или в работе этих расширений. Таким образом, использование старого jquery представляет собой более простое на данный момент решение.
В результате, когда я говорю, требуется. js загрузить «старый» jquery, чтобы сохранить совместимость с прежним код, это, по сути, повторная загрузка jquery и сглаживание расширенных функций, используемых исходной формой, что заставляет ее молча работать, когда расширенные функции не определены.
Я обошел это для в настоящее время, поместив вышеуказанный блок extends внутри своего собственного. js файла, который я назвал jquery -extended. js. Затем я добавляю конфигурацию shim для:
"jquery.extended" : {
"deps" : ['jquery'],
"exports" : "$"
},
Затем, для любой из моих текущих библиотек / библиотек, для которых требуется jquery, я вместо этого изменяю их зависимость на jquery .extended вместо jquery, и это кажется, по крайней мере, позволяет коду работать.
Но если есть какие-либо другие предложения по обработке этого, мне было бы интересно узнать о них.