- PVSM.RU - https://www.pvsm.ru -

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

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

Типичная ситуация — в проекте существует некий модуль. Модуль развивается, становится самостоятельным элементом и копируется в другой проект. Потом еще один проект. И еще.

В каждом проекте модуль обновляется и улучшается, и, в какой-то момент, становится не понятно, где актуальная версия.

Да ладно, «не понятно где актуальная версия»! Вполне возможно, что в каждом проекте у модуля будут свои модификации, в которые будет достаточно сложно привести в порядок для использования в следующем проекте.

Вполне можно ограничиться созданием отдельного репозитория для модуля, например на GitHub или Bitbucket. Но добавлять репозиторий как субмодуль для GIT — это путь к приключениям [1].

Можно пойти дальше, и создать на основе такого модуля npm-пакет.

Работать с такими пакетами очень просто. Установить npm-пакет можно с помощью команды npm install, а обновить с помощью npm update.

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

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

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

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

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

Вполне логично (но не обязательно) будет создать репозиторий на GitHub или Bitbucket.

Плюсы:

  • Баг-трекер для хранения ошибок с которыми столкнулись пользователи, и, возможно, их решений
  • Можно получить полезный pull request

Package.json

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

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

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

npm adduser

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

В случае, если вы уже были зарегистрированы в npm раньше — вам нужно авторизоваться,

npm login

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

npm publish

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

npm install

Для удаления пакета из npm существует команда:

npm unpublish <project>[@<version>]

PS

Конечно, создание npm-пакетов — это не панацея, и вполне вероятно, что это подойдет далеко не всем, но я бы назвал это «еще одним путем к модульности».

Автор: asheee

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/node-js/32687

Ссылки в тексте:

[1] это путь к приключениям: http://http://git-scm.com/book/ru/Инструменты-Git-Подмодули#Проблемы-с-подмодулями

[2] grunt-init: https://github.com/gruntjs/grunt-init

[3] grunt-init-node: https://github.com/gruntjs/grunt-init-node

[4] документации к npm: https://npmjs.org/doc/json.html

[5] здесь: http://package.json.nodejitsu.com/

[6] Источник: http://habrahabr.ru/post/177465/