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