Объединение нескольких файлов javascript
Я читал, что слияние нескольких файлов javascript в один файл повышает производительность, правда?
Если да, существует ли простой и безошибочный способ их слияния или, возможно, он-лайн инструмент, который автоматически это делает?
Большое спасибо.
Ответы
Ответ 1
Смотрите Несколько файлов javascript/css: лучшие практики? и Нагнетание Javascript в PHP.
Короткий ответ заключается в том, что вы хотите минимизировать внешние HTTP-запросы. Лучший способ сделать это - заставить браузер кэшировать файлы на сервере, пока они не изменятся. Вы делаете это путем версий файлов и обеспечения будущего заголовка Expires. Когда имя файла изменяется (путем изменения версии), браузер получит новую версию.
Если вы это сделаете, несколько файлов Javascript не имеют большого значения. Но если вы заставляете клиента загружать 27 JS файлов на каждую страницу без кеширования, то уменьшение количества файлов может существенно повлиять. Конечно, это по-прежнему уступает эффективным стратегиям кэширования/версии.
Еще одна недавняя проблема, которую следует рассмотреть, - iphone caching:
iPhone не будет кэшировать компоненты больше 15K (было 25K в предыдущий эксперимент)
Поэтому в некоторых случаях объединение файлов может быть вредным.
Ответ 2
Если у вас много файлов javascript, это может помочь объединить их и минимизировать. Объединив их в один файл, вы уменьшите количество подключений и файлов, которые необходимо загрузить с вашего сайта. Минимизируя их, вы фактически уменьшаете размер файлов, удаляя пустое пространство, комментарии и т.д. Взгляните на компрессор JSMin и YUI.
Изменить:
Как отмечают другие комментаторы, объединение файлов действительно имеет смысл, если пользователи активно используют функции из всех файлов. Было бы нецелесообразно комбинировать большой и редко используемый файл javascript со всеми вашими обычно используемыми функциями.
Ответ 3
Вы также можете посмотреть http://jscompress.com/, инструмент сжатия JavaScript в Интернете.