Собственно возникла на одном проекте проблема, с которой я раньше не сталкивался. После того как на один довольно тяжелый проект был прикручен кэш, время генерации страницы уменьшилось в 2 раза. На этом казалось бы и все, но теперь другая проблема.
Все скрипты проекта зависят от jQuery, который подключается из CDN. Так же все скрипты (включая jQuery с фэлбэком для локальной загрузки) размещены в конце тела страницы. После оптимизаций на сервере стала наблюдаться ситуация, что скрипты проекта отрабатывают до того как будет загружена jQuery, так как они загружаются раньше.
Завязать все на AMD/LMD это конечно выход, но мне просто интересно узнать причины такого поведения, и что более важно, как можно с этим бороться.
Выносить подключение jQuery в head секцию страницы не особо хочу.
Мы вставляем скрипты в dom вручную после рендеринга страницы. Очень благотворно сказывается на скорости рендернига с точки зрения пользователя.
1) jquery
2) другие скрипты
3) inline скрипты
Загрузки каждого скрипта мы дожидаемся и только потом переходим к следующему шагу.
см http://abo.ua
Я бы в вашем случае тогда уж использовал ленивую подгрузку модулей ну или Require.js. Сам сейчас свою проблему временно решил небольшим менеджером модулей написанным на скорую руку, просто интересовало можно ли это дело обойти.