Понимание пакетных менеджеров 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