ускорить загрузку js css

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
because
Сообщения: 689
Зарегистрирован: 2010.09.30, 22:01

ускорить загрузку js css

Сообщение because »

Вопрос насчет уменьшения http запросов к серверу за css и js файлами. Знаю что можно обьединить css в один файл и js-ки в один файл. Но как это правильно сделать ? Получается что нужно физически хранить этот общий js-файл и при изменении одного из составляющих опять вручную пересобирать заново этот файл, но это как-то неудобно. Может я неправильно понял идею ? По css тот же вопрос, как правильно его обьединять, использовать файл в котором все подключается через @import или физически один файл-склейку.
Вопрос 2. В ходе разработки файлы меняются, и есть сжатые версии. Как автоматизировать процесс. Т.е. изменился исходный файл, автоматом обновили сжатую версию.
Очень интересно узнать, кто как решает эти задачи :?:
RTFM !
iGrog
Сообщения: 35
Зарегистрирован: 2009.12.21, 20:59
Контактная информация:

Re: ускорить загрузку js css

Сообщение iGrog »

Тоже задался этим вопросом.
Хорошо бы в IDE (в том же jetbrains phpstorm) иметь какие-либо
Pre-deployment commands, что бы можно было сжать все js и css в одно и запулить на сервер. но

в Yii же подключение идет как ClientScript registerCssFile, registerScriptFile, как вот это бы разрулить?
Ибо получится, что файл один, а Yii будет генерить теги для каждого из файлов...
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: ускорить загрузку js css

Сообщение rak »

iGrog писал(а): в Yii же подключение идет как ClientScript registerCssFile, registerScriptFile, как вот это бы разрулить?
Ибо получится, что файл один, а Yii будет генерить теги для каждого из файлов...
нужно использовать scriptMap
iGrog
Сообщения: 35
Зарегистрирован: 2009.12.21, 20:59
Контактная информация:

Re: ускорить загрузку js css

Сообщение iGrog »

нужно использовать scriptMap
чуток подробнее, плиз.
iGrog
Сообщения: 35
Зарегистрирован: 2009.12.21, 20:59
Контактная информация:

Re: ускорить загрузку js css

Сообщение iGrog »

Ох, спасибо.
Как-то эту возможность пропустил :) Век живи - век учись!
Аватара пользователя
because
Сообщения: 689
Зарегистрирован: 2010.09.30, 22:01

Re: ускорить загрузку js css

Сообщение because »

Может кому пригодится. нашел неплохое расширение, объединяет css файлы, и js файлы. также делает сжатие этих файлов, все автоматически. http://www.yiiframework.com/extension/eclientscript/
RTFM !
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: ускорить загрузку js css

Сообщение TM123 »

А зачем это делать. Количество запросов уменьшится, а трафик увеличится, посетителю вывалится все сразу и первая загрузка будет дольше выпоняться просто чисто по трафику, а если он по мобильному инету то это +деньги.
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: ускорить загрузку js css

Сообщение timlar »

TM123 писал(а):А зачем это делать. Количество запросов уменьшится, а трафик увеличится, посетителю вывалится все сразу и первая загрузка будет дольше выпоняться просто чисто по трафику, а если он по мобильному инету то это +деньги.
Вам стоит почитать статьи в данном направлении. У браузеров есть ограничение на количество одновременных потоков. Так же не минифицированные файлы весят больше. Минифицируя и объединяя файлы в один мы получаем суммарно меньший вес, один поток, и выигрыш в скорости загрузки. Загрузка страницы как раз будет выполняться в разы быстрее. Браузер, загрузив один раз эти файлы, сохранит их у себя в кеше, следовательно, при повторном посещении страницы, скорость ее загрузки будет еще выше.
Twitter: @timlar_ua
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: ускорить загрузку js css

Сообщение TM123 »

Все правильно за исключением одного НО, ему придется сразу загрузить все файлы (пускай и в виде одного файла) и те которые нужны и те которые не нужны и это как раз затормозит первую загрузку, а в остальном я с вами полностью согласен, нет конечно смысла делать два десятка файлов со скриптами содержащими по десятку строчек скрипта, все это надо слить в один, максимум два. Ну и опять таки при изменении одного файла придется перегрузить все.
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: ускорить загрузку js css

Сообщение timlar »

Никто не запрещает делать некие сеты из файлов, комбинировать определенные файлы для отображения на определенных страницах. Вам часто попадались файлы стилей и js сильно больших размеров? Обычно это до пару сотен килобайт (зависит от сложности проекта). И как по-вашему будет ощущаться разница при загрузке файла в 200Кб и файла в 140Кб? Никак. Пользователь не заметит прироста производительности на несколько тысячных секунды. С другой стороны, Вы можете беспокоиться о размере файла стилей, но тем не менее будет грязь, например, в html. Как показывает практика, минификация css, миницикация и обфускация js существенно сокращают размеры файлов. Эта техника уже опробована на многих проектах в боевых условиях и зарекомендовала себя с хорошей стороны.

В оптимизации и рефакторинге нужно себя ограничивать, иначе можно рефакторить бесконечно.

ЗЫ. Рекомендую поставить плагин PageSpeed к Firefox'у и открыть страницу своего проекта. Он покажет текущие размеры медиа-файлов, размеры сжатых файлов и процент сжатия. Разница заметна.
Twitter: @timlar_ua
Ответить