Понимание пакетных менеджеров JavaScript

Существует несколько пакетных менеджеров JavaScript: npm, bower, volo, ringojs, component. На данный момент npm и bower имеют наибольшее число зарегистрированных пакетов.

Npm работает в основном с node-compatible JavaScript модулями, в то время как bower нацелен на поддержку всей web-платформы, предлагая пакеты, которые могут содержать модули, скрипты, CSS таблицы и HTML шаблоны, картинки или шрифты. Для этих целей npm используется прежде всего в node.js разработке, а bower - для клиентской.

Несмотря на то, что npm и bower используют несовместимые организационные структуры, оба могут быть использованы в одном проекте, т.к. они используют различные файлы метаданных(package.json и bower.json) и устанавливают пакеты в различные каталоги.

Подобно Maven в Java, пакетные менеджеры JavaScript предназначены в основном для поиска пакетов, их установке и управлением версий пакетов. Npm также предоставляет возможность запускать простые задачи зборки и тестирования.

Использование пакетных менеджеров JavaScript

Работа с пакетными менеджерами проста. Ниже приведены примеры для npm и bower, но похожие действия применимы и к другим.

После установки npm или bower, выполните bower init или npm init в корневой директории вашего проекта. Менеджер пакетов задаст несколько вопросов. Ваши ответы будут использованы для создания файла метаданных package.json и bower.json для вашего проекта.

Для поиска доступных пакетов к установке выполните bower search <keywords> или npm search <keywords>. Будет отображен список соответствующих пакетов.

Для установки пакета в локальный кэш и затем копирования его последней версии в ваш проект выполните bower install <package-name> или npm install <package-name>. Для установки конкретной версии пакета, синтаксис команды будет немного отличаться: bower install <package-name>#<package-version> или npm install <package-name>@<package-version>.

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

С оригинальным текстом урока вы можете ознакомиться на spring.io.

comments powered by Disqus