Я сделал снимок файла jquery.js и файлов jquery-ui, которые я использую, и поместил их в гигантский файл .js со всеми другими файлами .js, которые я использую для своего сайта.
Когда я делаю это без минификации / упаковки, файлы перестают работать, и при попытке загрузить его на свой сайт вместо обычных файлов .js я получаю сообщения об ошибках «слишком глубокая рекурсия». Все ошибки произошли от jquery и jquery-ui. Используя простую схему нумерации, я убедился, что файлы jquery.js / jquery-ui были первыми в списке и указаны в правильном порядке (так же, как и для отдельных файлов).
Два вопроса:
1) Разве теги включения для JavaScript не имеют такой же эффект, как сброс всех файлов в один гигантский файл? Есть ли дополнительная изоляция / изоляция, которую получают файлы JavaScript в своих собственных тегах сценария или в других файлах?
2) Моя цель состоит в том, чтобы сделать мой сайт быстрее благодаря наличию одного огромного файла .js со всем JavaScript, который я когда-либо использую на своем сайте (который имеет большой объем в JQuery), и минимизировать этот файл. Почему это неправильно? Какой лучший способ сделать это?
ПРИМЕЧАНИЕ: Google CDN-версия файлов JQuery не работает для меня, все плагины / темы JQuery, которые я использую, не работают с версиями Google (во всяком случае, кто-то говорит, что они могут успешно использовать CDN от Google, врет)
ОБНОВЛЕНИЕ: Спасибо за полезный совет в ответах, все это помогло мне узнать больше о развертывании файлов JavaScript на рабочем сервере. На самом деле я всегда использую последнюю ветку SVN плагинов JQuery UI, и в плагинах UI были ошибки, которые мешали их объединению с моими файлами. Я получил последние плагины Theme Rolled, которые уже сведены в один файл и которые помогли решить проблему.