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