Re: модуль чтобы динамически отдавать несколько java-script/css файлов в одном bundle
Gena Makhomed
gmm на csdoc.com
Сб Фев 11 11:03:37 UTC 2012
On 11.02.2012 0:49, locojohn wrote:
...
> позволяет соединять несколько файлов в
> один и выдавать соединенный файл
> клиенту, что позволяет сократить время
> запроса, так как нет традиционного
> обращения к каждому файлу по
> отдельности. Мы используем этот модуль
> для соединения в "бандлы" Javascript и CSS
> файлов.
что мешает соединить эти файлы в один перед выкладыванием
на сайт и сделать два варианта "бандлов" - без компрессии
и с компрессией для отдачи через модуль ngx_http_gzip_static
время запроса в результате еще больше сократится.
и не надо будет делать при каждом запросе то,
что можно сделать всего один раз.
вот пример, как это сделано на сайте nginx.org:
http://trac.nginx.org/nginx/browser/nginx_org
-------- Original Message --------
Subject: Re: ngx_http_gzip_static_module и 7z
Date: Mon, 20 Dec 2010 16:22:34 +0300
From: Igor Sysoev <igor at sysoev.ru>
Reply-To: nginx-ru at nginx.org
To: nginx-ru at nginx.org
On Fri, Dec 17, 2010 at 04:21:17PM +0300, Роман wrote:
> Сравнивал сжатие gzip и 7z
> 7z выигрывает на несколько килобайт
>
> возник вопрос - а можно ли или планируется ввести поддержку сжатия lzma?
>
> я не знаю зависит ли это от браузера или нет
> просьба просветпить
По поводу браузеров уже просветили, но 7z может сжимать в обычный
формат gzip немного лучше, чем сам gzip:
7za a -tgzip -mx9 -mpass=15 -si -ba -bd file.gz < file
Например, для текущего http://nginx.org/en/CHANGES
gzip -9 даёт 39627 байт, а вышеописанная строка 7z - 38090.
-------- Original Message --------
Subject: Re: nginx + minify
Date: Wed, 31 Aug 2011 22:06:21 +0400
From: Igor Sysoev <igor at sysoev.ru>
Reply-To: nginx-ru at nginx.org
To: nginx-ru at nginx.org
On Wed, Aug 31, 2011 at 08:09:22PM +0300, Gena Makhomed wrote:
> On 31.08.2011 16:47, Igor Sysoev wrote:
>
> >> Чтобы склеивать эти все файлы вместе и
> >> передавать как один, запускается PHP script.
> >> Он создаёт соответствующий склеенный
> >> файл и в следующий раз читает его уже с
> >> диска. Работает это значительно
> >> быстрее чем если загружать все четыре
> >> CSS файла по отдельности через<link href...>
> >> для каждого.
>
> скорее всего, это http://code.google.com/p/minify/
> или что-то подобное.
>
> > Да, но какова цена этой склейки.
> > Почему бы не склеить их в статический файл для nginx'а,
> > да ещё и сделать .gz вариант ?
>
> таким образом будет проще настраивать, если для разных
> страниц надо подключать разные наборы стилей/скриптов.
>
> когда можно сделать 1 файл style.css/style.css.gz
> и 1 файл script.js/script.js.gz - тогда все просто,
> в момент выкладывания новой версии сайта на сервер
> скриптом просто заново перестраиваются эти 4 файла.
>
> а когда таких комбинаций файлов css/js десятки и сотни,
> то появляется большое количество ручной работы, которую
> не совсем понятно как можно автоматизировать без глюков.
Зачем руками ? Есть Makefile.
Например, nginx.org (не самый большой сайт, конечно) транслируется из XML
в HTML с помощью xsltproc. Потом rsync'ается в каталог, где для файлов
делается .gz, а потом это снова rsync'ается в каталог веб-сервера. Всё,
что нужно сделать после изменений (как в XML, так и в XSLT), это
make all gzip copy
=========================================================================
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru