На достаточно большом проекте натолкнулся на проблему. В проекте используется много сторонних приложений и практически каждое, которое предоставляет виджеты для полей формы, использует jQuery. Естественно, приложение считает, что никто кроме него jQuery не подгрузит и делает это самостоятельно.
Причём некоторые приложения делают попытку узнать, а используется ли jQuery вообще в проекте: https://bitbucket.org/carljm/django-markitup/src/0a4001df355a/markitup/settings.py#cl-8
Но этого мало. В результате на странице имеем целый зоопарк загрузок разных версий jQuery. Это не особенно парит большинство разработчиков до тех пор, пока не используются собственные методы для jQuery. Я сейчас говорю о $.fn.YOUR_METHOD
.
Представим ситуацию, первое приложение подгружает jQuery версии 1.7.1 и регистрирует свой метод. Второе приложение подгружает jQuery версии 1.7.2 и ... В общем, уже не важно, что оно делает, так как оно уже уничтожило метод, который определило в jQuery первое приложение. В результате получаем достаточно продолжительные танцы с бубнами, заканчивающиеся неслабыми костылями в коде.
Возникает вопрос: Как с минимальными трудозатратами обеспечить загрузку jQuery один раз, причем самую свежую версию из требуемых приложениями.
Высказывайтесь, может что уже готовое есть.