Стоит ли конкатенировать JS / CSS файлы?

Добрый вечер!
Стоит ли использовать конкатенацию JS / CSS файлов? Лично я сейчас вижу ряд преимуществ и недостатков:
Преимущества:
* Nginx отдает только 2 файла статики.
* Можно использовать `async` атрибут, так как все в одном файле.
* Ничего не потеряется.
* Gzip будет лучше сжимать (возможно).

Недостатки:
* Версионирование. Даже при малейшем изменение скрипта, клиенту придется скачивать все заново.
* Объем файла. Скажем есть это JQ2 или Angular, то конкатенированный файл будет весить ~100 - 200kb. (Плохо для мобилок).

Сталкивались ли вы с такими вопросами, и в какую пользу сделали выбор?
  • Вопрос задан
  • 737 просмотров
Пригласить эксперта
Ответы на вопрос 3
swanrnd
@swanrnd
Издатель HTML5 игр
Сливаем.
У меня разбито так:
- библиотеки и ядро, которые редко меняются.
- часто меняемая часть.

В общем 3-4 файла гораздо лучше, чем 20.

В общем хорошо, когда внешних файлов не более 6.
Это учитывать и favicon и картинки.
Ответ написан
Комментировать
@biostrain
Я лично объединяю файлы. И преимущества вы правильно описали.
А про недостатки.. Скрипты не так часто меняются, клиент даже не заметит. А для мобилок можно отдавать "облегчённую" версию.
Ответ написан
sim3x
@sim3x
caniuse.com/#feat=http2

Как обычно - смотрим на своего пользователя, потом на пользователя, который нам (клиенту) приносит доход и под него подстраиваемся

С точки зрения софта для фронтенда и вебсерверов - все уже сделано

Nginx отдает только 2 файла статики.
картинки ты не используешь?
Можно использовать `async` атрибут, так как все в одном файле.
он и так используется если браузер умеет
Ничего не потеряется.
бред
Gzip будет лучше сжимать (возможно).
точно лучше

Версионирование. Даже при малейшем изменение скрипта, клиенту придется скачивать все заново.
если у клиента 90% новых пользователей, то как-то фиолетово
Объем файла. Скажем есть это JQ2 или Angular, то конкатенированный файл будет весить ~100 - 200kb. (Плохо для мобилок).
кому плохо, а кто через 4г ходит или wifi
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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