Слияние нескольких файлов JavaScript

Я считал, что слияние нескольких, несколько файлов JavaScript в единственный файл улучшают производительность, которая верна?

Если так, есть ли легкий и безошибочный способ объединить их или возможно сетевой инструмент, который автоматически делает это?

Большое спасибо.

14
задан Crescent Fresh 26 December 2009 в 05:53
поделиться

2 ответа

Смотрите Многочисленные javascript/css файлы: передовой опыт? и Суперзарядка Javascript в PHP.

Короткий ответ: вы хотите свести к минимуму внешние HTTP-запросы. Лучший способ сделать это - заставить браузер кэшировать файлы, которые вы сервера, до тех пор, пока они не изменятся. Вы делаете это, версируя файлы и предоставляя далеко идущий заголовок Expires. Когда имя файла меняется (путем изменения версии), браузер получит новую версию.

Если вы сделаете это, то несколько файлов Javascript на самом деле не имеют значения. Но если вы заставите клиента загрузить 27 JS-файлов на каждой странице без кэширования, то уменьшение количества файлов может иметь существенное значение. Конечно, это все еще уступает эффективным стратегиям кэширования/версии.

Другой более недавний вопрос, который следует рассмотреть, это кэширование iphone:

iPhone не будет кэшировать компоненты. больше 15K (было 25K в предыдущий эксперимент)

Так что при некоторых обстоятельствах объединение файлов может быть вредным.

.
16
ответ дан 1 December 2019 в 12:38
поделиться

Если у вас много javascript-файлов, это может помочь объединить их и минимизировать. Объединив их в один файл, вы уменьшите количество соединений и файлов, которые необходимо загрузить с вашего сайта. Сокращая их, вы фактически уменьшаете размер файлов, удаляя белое пространство, комментарии и так далее. Взгляните на JSMin и YUI Compressor

Edit: Как отмечают другие комментаторы, объединение файлов имеет смысл только в том случае, если пользователи активно используют возможности из всех файлов. Нет смысла объединять большой и редко используемый javascript-файл со всеми вашими обычно используемыми функциями.

3
ответ дан 1 December 2019 в 12:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: