2013-03-24 2 views
23

Есть два менеджера пакетов для клиентского Javascript, но как они сравниваются? Может кто-нибудь объяснить, какой из них превосходит какой?Jam vs Bower, какая разница?

+1

Есть намного больше двух. https://github.com/component/component и npm, чтобы назвать некоторые, также активно используются для пакетов клиентской стороны. Короткий ответ, это все еще неурегулированное пространство. – generalhenry

+0

К сожалению, на веб-сайте [component] (http://component.io/) не хватает информации. –

+0

Он сделал хорошее сообщение в блоге, объяснив мышление: http://tjholowaychuk.com/post/27984551477/components – generalhenry

ответ

20

Как другие, упомянутые в комментариях уже есть несколько альтернатив в этом пространстве за просто Jam и Бауэр.

  • Компонент
  • Эндера
  • Volo

Оба стремятся обеспечить способ упаковки своих активов и управлять ими зависимости между ними для клиента. Как Bower, так и Jam, похоже, дебютировали в 2012 году - сентябрь и май соответственно.

Оба доступны через узел/npm, и если все, что вы хотите сделать, - это разрешить зависимости между публичными библиотеками, такими как backbone, underscore, jquery и т. Д. Для вашего приложения, то любое решение будет работать и позволит вам использовать некоторые основные параметры для управления версией , где поместить его в свой проект и проверить наличие обновлений.

Что касается другого - Bower немного ниже уровня, чем Jam, что делает его более удобным для более широкой аудитории. Вы можете создавать компоненты балансировки больше, чем только библиотеки JavaScript. Jam фокусируется исключительно на библиотеках JavaScript в стиле AMD. С помощью Jam вы можете указать свои зависимости в файле package.json, который вы будете использовать с компонентами npm, тогда как Bower выбрал component.json по соглашению. Ограничение с Bower заключается в том, что он только извлекает ваши зависимости, вам все равно нужна система сборки, если вы хотите использовать Require.js или другие решения, которые Jam выбрал так, чтобы вы получили бесплатно. Bower получает поддержку от Twitter и нескольких других проектов (Ender, Yeoman).

Извините, если это неверно, но одно дополнительное ограничение Jam заключается в том, что оно не позволяет создавать собственные компоненты для распространения в частном репозитории. Это то, что Bower позволяет вам настроить как конечную точку в .bowerrc, но я все же нашел способ сделать это в Jam. Возможно, я не искал достаточно хорошо, но, похоже, есть хотя бы одна вилка для частного джем.

Несколько других хорошо читает:

+3

Для тех, кто наткнулся на этот вопрос, важно отметить, что беседа переходит от компонента.json к беседке. json для файлов конфигурации. https://groups.google.com/forum/?fromgroups#!topic/twitter-bower/Dcq8G0en1WI –

+1

с джем, вы можете разместить свои собственные локальные хранилища https://github.com/caolan/jam#running-your-own -private-хранилище или зеркало –

5

Используя следующую разбивку некоторые из популярных менеджеров пакетов вы можете решить, что вы хотите использовать в вас развития.Он сравнивает factos, как

  • использует ли менеджер package.json или другой формы дескриптора
  • , какие функции он поддерживает (подмости, сборник, имеющий центральный реестр)
  • скорости
  • формы поддержки пакетов (JS только, JS и CSS, JS HTML и CSS)
  • типов модулей поддерживаются
  • и, конечно, некоторые ноты на основе личной точки зрения

https://github.com/wilmoore/frontend-packagers

Смежные вопросы