Почему модули важны
Создание модулей важно, особенно когда вы хотите, чтобы ваш код был многоразовым. Узел предоставляет архитектуру, в которой вы можете написать и использовать свой код в виде модулей, через реестр NPM. Пакеты могут быть публикованы публично или в частной собственности в соответствии с вашими потребностями. Частные модули также делают возможность распространять свой код для того, чтобы пользователи, товарищи по команде или частным для себя, доступные из любого места.
Написание публичного модуля
Сначала создайте папку MyModule в любом месте. Затем установите путь к MyModule в CMD. Тогда вам нужно только создавать два файла, чтобы создать свой первый пакет образец.
- Package.json.
- index.js.
Теперь это может быть простейшим модулем, который мы можем создавать, только с двумя файлами.
Создание Package.json Файл
Вам не нужно явно создавать Package.json файл. Чтобы создать его, напишите в командной строке.
$npm init
Это должно задать вам следующие вопросы:
name: (MyModule) version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: license: (ISC)
Теперь вам даже не нужно отвечать на них, мало важных вопросов: версия, описание, точка входа (которая может быть изменена по умолчанию, это файл index.js) и автор.
Ответьте на них и пропустите отдых, нажав Enter. Это создаст Package.json Файл для вашего модуля.
Необязательно, вы можете напрямую создать файл package.json, следуя следующим шагам:
- Создайте текстовый файл, переименуйте его на Package.json.
- Добавьте следующий код в нем:
{ "name": "MyModule", "version": "1.0.0", "description": "My First Module", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "naeem shaikh", "license": "MIT" }
Теперь мы создали Package.json Файл, мы создадим index.js Файл, который является точкой входа нашего модуля.
Файл index.js.
Теперь это наша точка входа в модуль. Мы создадим простой на массив на объект преобразователя. Для бывшего:
мы преобразуем это
['john','martin','scott']
к
{ "0": "john", "1": "martin", "2": "scott" }
Напишите следующий код в вашем index.js файл.
exports.to_Object=function (arr) { var obj = {}; for (var i = 0; i < arr.length; ++i) obj[i] = arr[i]; return obj; }
Сделанный! Мы создали модуль, который экспортирует функцию to_object , который возьмет массив в качестве параметра и возврат преобразованный объект.
Публикация модуля
Поскольку мы завершили модуль, теперь мы можем опубликовать его в реестре NPM. Чтобы опубликовать свой модуль, у вас должен быть пользователь на Реестр НПМ Отказ Если у вас нет, создайте его с помощью следующей команды:
npm adduser
Это попросит ваше имя пользователя, пароль для установки и адреса электронной почты. После этого вы можете войти в NPM, используя следующую команду:
npm login
Это будет хранить ваши учетные данные на клиенте, и теперь вы сможете опубликовать ваш модуль для Реестр НПМ Отказ
Теперь волшебный шаг, используйте эту команду
npm publish
Это публикует ваш пакет. Чтобы посмотреть, фактически обнаруживается ли ваш пакет на NPM или нет? Вы можете перейти к следующему URL из вашего браузера:
http://npmjs.com/package/
Где?
Название пакета это имя пакета, которое вы только что создали и опубликовались.
Обновление вашего пакета
Вам нужно будет обновить свой пакет в какой-то момент с помощью дополнительной функции. Если вы сделаете, вы можете изменить версию вашего модуля, используя следующую команду:
npm version
Где?
Обновление-тип является одним из семантических типов выпуска версий, патч, незначительный или майор. Эта команда изменит номер версии в Package.json.
Обратите внимание, что это также добавит тег с этим номером выпуска на ваш репозиторий Git, если у вас есть.
Кроме того, вы также можете изменить номер версии напрямую в вашем Package.json файл.
После обновления номера версии вы можете NPM публиковать очередной раз. Затем вы можете увидеть пакет, обновленный в том же URL: http://npmjs.com/package/<имя пакета>
Теперь создайте проект узла и измените текущий каталог в _CMD _to ваш проект. Теперь вы можете установить свой модуль напрямую, используя
npm install Package-Name
Используя свой собственный модуль в вашем узле проекта, похоже на то, как вы используете другие модули, такие как выражать
var MyModule= require('MyModule');
Теперь вы получаете доступ к вашему модулю, а метод, определенный в нем, как,
MyModule.to_Object(parameterArray)
Напишите простую программу узла, которая будет использовать наш модуль.
var MyModule= require('MyModule'); var arr=['john','martin','scott']; var result=MyModule.to_Object(arr) console.log(result)
Это то, что вы получаете в своей консоли.
{ "0": "john", "1": "martin", "2": "scott" }
Создание частных модулей
Когда вы не хотите публиковать свой модуль кому-либо еще кроме немногих, вы можете создать частный модуль.
Публикация частного модуля похоже на публикацию общедоступного модуля, как обсуждалось выше, с одним разницей вы публикуете их в своем пространство имен или ваша команда пространство имен (С кем вы хотите поделиться своим модулем), просто давая им имя в Package.json:
{ "name": "@myuser/MyModule" }
Опубликовать их с NPM публиковать Как и любой другой пакет, и вы устанавливаете их по пространству имен:
npm install @myuser/MyModule
После установки используйте их, требуя их по пространству имен, как и любой пакет:
var MyModule= require('@myuser/MyModule');
Заключение
Создание частных или общественных модулей особенно полезно, чтобы сделать вас код многоразовым, распределительным и сделать свой код модульной, так что это намного более читаемое.