Re: модуль чтобы динамически отдавать несколько java-script/css файлов в одном bundle

Xasima xasima на gmail.com
Пн Фев 13 14:04:41 UTC 2012


Добрый день. Я сам интересовался решением похожей задачи в рассылке. Хочу
кое-что уточнить.

 > у нас тоже есть
> > программисты и формируется
> > очень неплохая культура,
> > когда в
> > имя статики добавляется
> > хеш или дата. и после этого
> > отдавай хоть с каким
> > Expire, никакого риска.
>
> Непонятно, каким образом им создавать
> бандлы в оффлайне или при переносе
> изменений с тест-сервера, где они
> постоянно обновляют свои файлы, на
> рабочий сервер?   Как это технически
> можно сделать быстро и
> полу-или-полностью автоматически?


Вы рассматриваете вариант:
Нажатие кнопки  на web-фронтенде  Continious Integration системы (напр.,
http://jenkins-ci.org/), которая
a) заберет последние коммиты с заданной ветки (git  /svn)
б) запустит какую-нибудь систему сборки файлов в бандлы (а-ля
https://github.com/imegah/Haste)
с) добавит к бандлу (или индивидуальным файлам-библиотеки) версии,
основываясь на  номере релиза. Поместит  их по SSH на nginx / CDN.

Программисты должны будут лишь нажать кнопку на веб-интерфейсе, или же
подобная функциональность может быть стриггерована созданием нового тега
(мержа) в release (master) ветке репозитория.


> Мне всё-таки видится использование
> http-concat наиболее подходящим для решения
> такой задачи.
>
>
Мне кажется,  бандлы с более-менее постоянным составом библиотек проще и
стабильнее помещать  как отдельные ресурсы на файловую систему.

В случае же, если у вас (как у фейсбука),
1) состав библиотек для каждого клиента - разный, скомпилированные (напр, с
помощью closure)  библиотеки все равно зависят друг от друга (lazy
loading).
2) на клиенте находится js-module-manager, которые избирательно забирает
обновленные библиотеки (сверяясь при этом с локальным HTML storage)
3) генерация большого числа разнообразных наборов бандлов  не спасает, так
как на каждом клиенте могут оставаться в HTML Storage / Cache или по логике
- разные наборы библиотек, и вы при этом не можете позволить (из
соображений производительности на клиенте) перезагрузить заново бандл.

 - тогда, конечно, http-concat наиболее подходящее средство. Хорошо, если
 указанные  вами проблемы будут решены.


> Андрей
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,222269,222339#msg-222339
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>



-- 
Best regards,
     ~ Xasima ~
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20120213/5ab319ce/attachment.html>


Подробная информация о списке рассылки nginx-ru