Pull to refresh

Создание npm-пакета

Reading time2 min
Views63K


Типичная ситуация — в проекте существует некий модуль. Модуль развивается, становится самостоятельным элементом и копируется в другой проект. Потом еще один проект. И еще.
В каждом проекте модуль обновляется и улучшается, и, в какой-то момент, становится не понятно, где актуальная версия. Да ладно, «не понятно где актуальная версия»! Вполне возможно, что в каждом проекте у модуля будут свои модификации, в которые будет достаточно сложно привести в порядок для использования в следующем проекте.
Вполне можно ограничиться созданием отдельного репозитория для модуля, например на GitHub или Bitbucket. Но добавлять репозиторий как субмодуль для GIT — это путь к приключениям.
Но можно пойти дальше, и создать на основе такого модуля npm-пакет. Работать с такими пакетами очень просто. Установить npm-пакет можно с помощью команды npm install, а обновить с помощью npm update.


Создание пакета


Создавать npm-пакеты совсем не сложно. Ниже я кратко опишу моменты, с которыми я столкнулся, во время публикации своего первого модуля.

Файловая структура

Файловая структура может быть совершенно разной. Вполне разумно использовать для создания ФС модуля grunt-init и grunt-init-node.

Репозиторий на GitHub или Bitbucket

Вполне логично (но не обязательно) будет создать репозиторий на GitHub или Bitbucket.
Плюсы:
  • Баг-трекер для хранения ошибок с которыми столкнулись пользователи, и, возможно, их решений
  • Можно получить полезный pull request

Package.json

Для того, что бы опубликовать модуль, нужно правильно заполнить package.json. О том, как это сделать подробно написано в документации к npm, либо более интерактивно здесь.

Публикация в npm

Для того, что бы опубликовать пакет — нужно авторизоваться в npm. Если вы еще не зарегистрированы:
npm adduser

После этого нужно будет ввести имя пользователя, пароль и email. После регистрации, npm авторизует вас под созданной учетной записью.
В случае, если вы уже были зарегистрированы в npm раньше — вам нужно авторизоваться,
npm login

Теперь можно опубликовать пакет, набрав в консоли:
npm publish

После того, как пакет опубликован — его можно установить с помощью команды
npm install

Для удаления пакета из npm существует команда:
npm unpublish <project>[@<version>]


PS


Конечно, создание npm-пакетов — это не панацея, и вполне вероятно, что это подойдет далеко не всем, но я бы назвал это «еще одним путем к модульности».
Tags:
Hubs:
Total votes 31: ↑24 and ↓7+17
Comments4

Articles