Менеджер пакетов для веб-ресурсов

Знаете ли вы менеджер пакетов для веб-ресурсов?

Мне нужно что-то, что может загружать библиотеки, такие как jQuery, чтобы я мог подключить их к своему конвейеру активов. Пакеты Python js.* для fanstatic близки, но выбирают единственную "последнюю" версию библиотеки, которая может отставать на несколько выпусков.

Google js cdn содержит метаданные для некоторых из них, но в основном предназначен для быть загружены браузером напрямую.


person Tobu    schedule 08.09.2011    source источник


Ответы (5)


Я нашел эти менеджеры пакетов для javascript в браузере:

  • CPM (менеджер пакетов CommonJS), ориентированный на пакеты Dojo, с архивом по адресу http://packages.dojofoundation.org/ (около 60 пакетов). CPM дополняет формат CommonJS с помощью поля сопоставлений, чтобы описать, как модули из зависимых пакетов может потребоваться()d
  • Jam Каолана, архив которого находится по адресу http://jamjs.org/packages/. Вот руководство по упаковке Jam.
  • Ender использует npm для управления пакетами и предоставляет клиент, похожий на AMD (я не уверен в совместимости с AMD, которая, согласно отчету об ошибках, остается на усмотрение каждого пакета). Вот документация по упаковке Ender. Вот пакеты с ключевым словом ender. Ender не сосредотачивается на упаковке существующих библиотек, хотя его стартовый пакет Jeesh представляет собой модульную, в основном совместимую замену jQuery.

Большинство из них могут публиковаться в формате AMD для загрузчиков браузера и могут быть загружается с помощью RequireJS. Они также склонны использовать формат пакета CommonJS (также используемый npm) для их package.json. метаданные.

Я также нашел XStatic, который, по-видимому, является менее активной версией fanstatic и похож на fanstatic wraps. библиотеки в пакетах Python. У него такое же ограничение (версии имеют тенденцию отставать), но написание пакета-оболочки кажется достаточно простым, чтобы я мог испечь свои собственные обновления.

BPM и fanstatic знают об активах, отличных от js, и могут объединять или минимизировать CSS.

person Tobu    schedule 13.09.2011
comment
Я хотел бы добавить Jam в качестве последнего дополнения к вашему списку менеджеров пакетов JavaScript. - person Caolan; 21.06.2012
comment
Yeoman (еще не выпущенный) также обещает некоторое управление пакетами в форма Bower (которая, по-видимому, создана людьми из Twitter и очень короткое время была доступна на npm) - person Tobu; 10.07.2012
comment
Jam, по моему мнению, лучший, поскольку он соответствует конфигурации, совместимой с requirejs, и его можно легко настроить с помощью файла json, аналогичного компоновщику диспетчера пакетов PHP. - person acme; 24.09.2012

Bower, менеджер пакетов, из Twitter.

Bower — менеджер пакетов для Интернета. Bower позволяет легко устанавливать ресурсы, такие как изображения, CSS и JavaScript, и управляет зависимостями за вас.

Bower занимается только управлением пакетами и управлением пакетами.

Bower требует Node и npm (и, возможно, git для некоторых пакетов Bower). Он также включен в Yeoman, набор инструментов, помогающих разработчикам создавать современные веб-приложения.

person Gan    schedule 27.11.2012
comment
Бауэр классный. Это npm на стороне клиента (хотя и с меньшим количеством пакетов). - person wprl; 29.12.2012
comment
-1 Bower не поддерживает коммиты, и разработчики, похоже, не хотят это поддерживать — попрощайтесь с 90% сети, которая не является идеальной снежинкой, которую хочет видеть Bower =/ они делают больше, чем просто поддерживают получение хотя последние нестабильные изменения - person srcspider; 02.04.2013
comment
Чтобы добавить к комментарию srcspider, во многих случаях Bower эквивалентен выполнению git clone и git checkout tagname зависимости. Если цели требуется что-то большее, чем это, и в репозитории нет конфигурационного файла Bower, она не будет работать. Если для проекта требуется процесс сборки (например, Sinon), он не будет работать. Если вы хотите использовать конкретную ветку или коммит вместо тега, это не сработает. - person DriverDan; 23.05.2013
comment
@GusDeCooL, что не так с nodejs? Он отлично отвечает на опубликованный вопрос. - person Gan; 17.09.2013
comment
@ Ган, привет, извини, что плохо. Я тестировал Бауэр. Похоже, что для некоторых библиотек используются только nodejs, но наш загруженный интерфейсный скрипт все еще может нормально работать без nodejs. я уже проголосовал за ваш ответ :) - person GusDeCooL; 17.09.2013

Если вы работаете с Visual Studio 2010, лучше всего подойдет NuGet.

http://nuget.org/

person Alexander Beletsky    schedule 08.09.2011

Автор RequireJS также создал менеджер пакетов/зависимостей под названием Volo:

Создавайте клиентские проекты на основе браузера из шаблонов проектов и добавляйте зависимости, загружая их с GitHub. После того, как ваш проект настроен, автоматизируйте общие задачи.

volo — это менеджер зависимостей и инструмент для создания проектов, который предпочитает GitHub для репозитория пакетов.

По своей сути, volo — это универсальная программа запуска команд — вы можете создавать новые команды для volo и использовать команды, созданные другими.

person Boy Baukema    schedule 06.02.2013

Просто используйте npm. В нем уже есть тонны модулей браузера, и он намного больше, чем другие варианты:

http://www.modulecounts.com/

person Mikola    schedule 08.04.2013