Підручник Node.js NPM: як створювати, розширювати та публікувати модулі

Модулі Node.js

Модуль у Node.js — це логічна інкапсуляція коду в єдиний блок. Хорошою практикою програмування завжди є розділення коду таким чином, щоб зробити його більш керованим і підтримувати для майбутніх цілей. Саме тут модулі в Node.js починають діяти.

Оскільки кожен модуль є незалежною сутністю з власною інкапсульованою функціональністю, ним можна керувати як окремою одиницею роботи.

Що таке модуль у Node.js?

Як було сказано раніше, модулі у Node js — це спосіб інкапсуляції коду в окремий логічний блок. На ринку є багато готових модулів, які можна використовувати в Node js.

Нижче наведено деякі з популярних модулів, які використовуються в програмі Node js

  1. Експрес-фреймворк – Express – це мінімальний і гнучкий фреймворк веб-додатків Node js, який забезпечує надійний набір функцій для Інтернету та мобільний додатків.
  2. socket.io – Socket.IO забезпечує двонаправлений зв’язок у реальному часі на основі подій. Цей модуль хороший для створення додатків на основі чату.
  3. нефрит – Jade — це високопродуктивний механізм шаблонів, реалізований за допомогою JavaScript для вузлів і браузерів.
  4. MongoDB - The MongoDB Драйвер Node.js є офіційно підтримуваним драйвером node.js для MongoDB.
  5. Переробити – resify – це легкий фреймворк, схожий на express для створення REST API
  6. співочий птах – Bluebird — це повнофункціональна бібліотека обіцянок з акцентом на інноваційні функції та продуктивність

Використання модулів у Node.js

Щоб використовувати модулі в a Node.js їх спочатку потрібно встановити за допомогою менеджера пакунків Node.

Наведений нижче командний рядок показує, як можна встановити модуль «express».

npm інсталювати експрес

Використання модулів у Node.js

  • Наведена вище команда завантажить необхідні файли, які містять «експрес-модулі», а також подбає про встановлення
  • Після встановлення модуля, щоб використовувати модуль у програмі Node.js, вам потрібно використати ключове слово «require». Це ключове слово є способом, який Node.js використовує для включення функціональності модуля в програму.

Давайте розглянемо приклад того, як ми можемо використовувати ключове слово “require”. Наведений нижче приклад коду «Guru99» показує, як використовувати функцію require

Використання модулів у Node.js

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
});
var server=app.listen(3000,function()
{
});
  1. У самому першому операторі ми використовуємо ключове слово «require», щоб включити експрес-модуль. Модуль «експрес» оптимізований JavaScript бібліотека для розробки Node.js. Це один із найпоширеніших модулів Node.js.
  2. Після включення модуля необхідно створити об’єкт, щоб використовувати функціональні можливості в модулі. Тут створюється об'єкт експрес-модуля.
  3. Після включення модуля за допомогою команди «require» і створення «об’єкта» можна викликати потрібні методи експрес-модуля. Тут ми використовуємо команду set для встановлення механізму перегляду, який використовується для налаштування механізму створення шаблонів, що використовується в Node.js.
  4. Примітка: -(Тільки для розуміння читача; система створення шаблонів — це підхід для введення значень у програму шляхом збирання даних із файлів даних. Ця концепція досить відома в Angular JS, де фігурні дужки {{ key }} використовуються для заміни значень у веб-сторінки. Слово "ключ" у фігурних дужках в основному позначає змінну, яка буде замінена значенням під час відображення сторінки.)

  5. Тут ми використовуємо метод listen to, щоб змусити програму слухати певний номер порту.

Як створити модулі NPM

Node.js має можливість створювати користувальницькі модулі та дозволяє включати ці користувацькі модулі у вашу програму Node.js.

Давайте розглянемо простий приклад того, як ми можемо створити власний модуль і включити цей модуль у наш основний файл програми. Наш модуль просто виконає просте завдання додавання двох чисел.

Давайте виконаємо наведені нижче кроки, щоб побачити, як ми можемо створювати модулі та включати їх у нашу програму.

Нижче наведено крок за кроком процес створення модулів NPM

Крок 1) Створіть файл і вставте код нижче
Створіть файл під назвою «Addition.js» і додайте наведений нижче код. Цей файл міститиме логіку для вашого модуля.

Нижче наведено код, який увійде в цей файл;

Створення модулів NPM

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};
  1. Ключове слово «exports» використовується для того, щоб інші файли дійсно могли отримати доступ до функцій, визначених у цьому файлі.
  2. Потім ми визначаємо функцію під назвою "AddNumber". Ця функція визначена для прийому 2 параметрів, a і b. Функцію додано до модуля «експорт», щоб зробити функцію загальнодоступною, до якої можуть отримати доступ інші модулі програми.
  3. Нарешті ми змушуємо нашу функцію повертати додане значення параметрів.

Тепер, коли ми створили наш спеціальний модуль, який має функцію додавання 2 чисел. Настав час створити програму, яка викличе цей модуль.

На наступному кроці ми фактично побачимо, як створити програму, яка буде викликати наш настроюваний модуль.

Крок 2) Створіть файл програми
Створіть файл під назвою «app.js», який є основним файлом програми, і додайте наведений нижче код

Створення модулів NPM

var Addition=require('./Addition.js');
console.log(Addition.AddNumber(1,2));
  1. Ми використовуємо ключове слово «require», щоб включити функціональність у файл Addition.js.
  2. Оскільки функції у файлі Addition.js тепер доступні, тепер ми можемо викликати функцію AddNumber. У функції ми передаємо 2 числа як параметри. Потім ми відображаємо значення на консолі.

Створення модулів NPM

Вихід:

  • Коли ви запустите файл app.js, ви отримаєте значення 3 у журналі консолі.
  • Результат тому, що функцію AddNumber у файлі Addition.js було успішно викликано, а повернуте значення 3 відобразилося на консолі.

Примітка: – Ми ще не використовуємо «Менеджер пакетів Node» для встановлення нашого модуля Addition.js. Це тому, що модуль уже є частиною нашого проекту на локальній машині. Менеджер пакетів Node з’являється, коли ви публікуєте модуль в Інтернеті, який ми бачимо в наступній темі.

Розширення модулів у Node.js

Під час створення модулів також можна розширити або успадкувати один модуль від іншого.

У сучасному програмуванні досить поширеним є створення бібліотеки загальних модулів, а потім розширення функціональних можливостей цих загальних модулів, якщо потрібно.

Давайте розглянемо приклад того, як ми можемо розширити модулі в Node.js.

Крок 1) Створіть базовий модуль.

У нашому прикладі створіть файл під назвою «Tutorial.js» і розмістіть наведений нижче код.

У цьому коді ми просто створюємо функцію, яка повертає рядок на консоль. Повернутий рядок – це «Guru99 Tutorial».

Розширення модулів у Node.js

var exports=module.exports={};
exports.tutorial=function()
{
console.log("Guru99 Tutorial")
}
  1. Модуль експорту використовується для того, щоб будь-яка функція, визначена в цьому файлі, була доступною в інших модулях у Node.js
  2. Ми створюємо функцію під назвою tutorial, яку можна використовувати в інших модулях Node.js.
  3. Під час виклику цієї функції ми відображаємо рядок «Guru99 Tutorial» у консолі.

Тепер, коли ми створили наш базовий модуль під назвою Tutorial.js. Настав час створити інший модуль, який розширить цей базовий модуль.

У наступному кроці ми розглянемо, як це зробити.

Крок 2) Далі ми створимо наш розширений модуль. Створіть новий файл під назвою «NodeTutorial.js» і помістіть у нього наведений нижче код.

Розширення модулів у Node.js

var Tutor=require('./Tutorial.js');
exports.NodeTutorial=function()
{
console.log("Node Tutorial")
function pTutor()
{
var PTutor=Tutor
PTutor.tutorial();
}
}

Or
var Tutor=require('./Tutorial.js');
exports.NodeTutorial=function()
{
console.log("Node Tutorial")
this.pTutor = function ()
{
var PTutor=Tutor
PTutor.tutorial();
}
}

Зверніть увагу на наступні ключові моменти щодо наведеного вище коду

  1. Ми використовуємо функцію «require» у новому файлі модуля. Оскільки ми збираємося розширити існуючий файл модуля «Tutorial.js», нам потрібно спочатку включити його, перш ніж розширювати.
  2. Потім ми створюємо функцію під назвою «Nodetutorial». Ця функція виконуватиме 2 дії,
  • Він надішле рядок «Node Tutorial» на консоль.
  • Він надішле рядок «Guru99 Tutorial» із базового модуля «Tutorial.js» до нашого розширеного модуля «NodeTutorial.js».
  1. Тут ми виконуємо перший крок, щоб надіслати рядок у «Node Tutorial» на консоль.
  2. Наступним кроком є ​​виклик функції з нашого модуля Tutorial, який виведе рядок «Guru99 Tutorial» у console.log.

Крок 3) Створіть свій основний файл app.js, який є основним файлом програми, і додайте наведений нижче код.

Розширення модулів у Node.js

var localTutor=require('./NodeTutorial.js');
localTutor.NodeTutorial();
localTutor.NodeTutorial.pTutor();

Or use this code
var tut = new localTutor.NodeTutorial();  // Create and save object
tut.pTutor();  // Call function on object

Наведений вище код виконує такі дії;

  1. Наш головний файл програми тепер викликає модуль «NodeTutorial».
  2. Ми викликаємо функцію «NodeTutorial». Після виклику цієї функції в журналі консолі буде відображено текст «Посібник з вузла».
  3. Оскільки ми розширили наш модуль Tutorial.js і представили функцію під назвою pTutor. Він також викликає навчальний модуль у модулі Tutorial.js, і текст «Guru99 Tutorial» також відображатиметься на консолі.

вихід:

Оскільки ми виконали наведений вище код app.js за допомогою Node, ми отримаємо наступний вихід у файлі console.log

  • Підручник з вузлів
  • Підручник Guru99

Пакет публікації NPM (Node Package Manager).

Можна опублікувати свій власний модуль у своєму Github сховище

Публікуючи свій модуль у центральному місці, ви не будете обтяжені необхідністю інсталювати себе на кожній машині, яка цього потребує.

Замість цього ви можете скористатися командою встановлення npm і встановити опублікований модуль npm.

Щоб опублікувати свій модуль npm, потрібно виконати наступні дії

Крок 1) Створіть свій репозиторій на GitHub (онлайн-інструмент керування сховищем коду). Його можна використовувати для розміщення ваших сховищ коду.

крок 2) Вам потрібно повідомити вашій локальній установці npm, хто ви є. Це означає, що нам потрібно повідомити npm, хто є автором цього модуля, який ідентифікатор електронної пошти та будь-яку доступну URL-адресу компанії, яку потрібно пов’язати з цим ідентифікатором. Усі ці деталі буде додано до вашого модуля npm після його публікації.

Наведені нижче команди встановлюють ім’я, електронну адресу та URL-адресу автора модуля npm.

npm встановив init-author-name «Guru99».

npm set init-author-email “guru99@gmail.com”

npm встановив init-author-url “http://Guru99.com”

Крок 3) Наступним кроком є ​​вхід у npm за допомогою облікових даних, наданих на останньому кроці. Щоб увійти, вам потрібно використати наведену нижче команду

npm login

Крок 4) Ініціалізація пакета. Наступним кроком є ​​ініціалізація пакета для створення файлу package.json. Це можна зробити, виконавши наведену нижче команду

npm init

Коли ви введете наведену вище команду, вам буде запропоновано відповісти на деякі запитання. Найважливішим є номер версії вашого модуля.

Крок 5) Опублікувати на GitHub – наступним кроком є ​​публікація вихідних файлів на GitHub. Це можна зробити, виконавши наведені нижче команди.

git add.
git commit -m "Initial release"
git tag v0.0.1 
git push origin master --tags

Крок 6) Опублікуйте свій модуль. Останнім кроком є ​​публікація вашого модуля в реєстрі npm. Це робиться за допомогою наведеної нижче команди.

npm publish

Керування сторонніми пакетами за допомогою npm

Як ми бачили, «Менеджер пакетів Node» має можливість керувати модулями, які потрібні для програм Node.js.

Давайте розглянемо деякі функції, доступні в менеджері пакетів вузлів для керування модулями

  1. Встановлення пакетів у глобальному режимі – модулі можна встановлювати на глобальному рівні, що в основному означає, що ці модулі будуть доступні для всіх проектів Node.js на локальній машині. У наведеному нижче прикладі показано, як встановити «швидкий модуль» із глобальною опцією.npm install express –global Глобальний параметр у наведеному вище твердженні – це те, що дозволяє встановлювати модулі на глобальному рівні.
  2. Перелік усіх глобальних пакетів, встановлених на локальній машині. Це можна зробити, виконавши наведену нижче команду в командному рядкусписок npm – глобальнийНижче наведено результат, який буде показано, якщо ви раніше встановили «швидкий модуль» у вашій системі. Тут ви можете побачити різні модулі, встановлені на локальній машині.

Керування сторонніми пакетами за допомогою NPM

  1. Встановлення певної версії пакета – іноді може виникнути вимога встановити лише певну версію пакета. Коли ви дізнаєтеся ім’я пакета та відповідну версію, яку потрібно встановити, ви можете скористатися командою npm install, щоб установити цю конкретну версію. У наведеному нижче прикладі показано, як встановити модуль під назвою підкреслення з конкретною версією 1.7.0npm install. підкреслення@1.7.0
  2. Оновлення версії пакета – іноді у вас може бути старіша версія пакета в системі, і ви можете оновити до останньої, доступної на ринку. Для цього можна скористатися командою npm update. У прикладі нижче показано, як оновити пакет підкреслення до останньої версіїnpm оновлення підкреслення
  3. Пошук певного пакета – щоб дізнатися, чи доступна певна версія в локальній системі, можна скористатися командою пошуку npm. Наведений нижче приклад перевірить, чи експрес-модуль встановлено на локальній машині чи ні.npm search express
  4. Видалення пакета – те саме, у якому ви можете встановити пакет, ви також можете видалити пакет. Видалення пакета виконується за допомогою команди видалення npm. У прикладі нижче показано, як видалити експрес-модульЕкспресне видалення npm

Що таке файл package.json

Файл “package.json” використовується для зберігання метадані про конкретний проект. Ця інформація надає менеджеру пакетів Node необхідну інформацію, щоб зрозуміти, як слід обробляти проект разом із його залежностями.

Файли package.json містять таку інформацію, як опис проекту, версія проекту в певному дистрибутиві, інформація про ліцензію та дані конфігурації.

Файл package.json зазвичай знаходиться в кореневому каталозі проекту Node.js.

Розглянемо на прикладі, як виглядає структура модуля, встановленого через npm.

Наведений нижче знімок показує вміст файлу експрес-модуля, коли його включено у ваш проект Node.js. На знімку ви можете побачити файл package.json у папці Express.

Файл Package.json

Якщо ви відкриєте файл package.json, ви побачите в ньому багато інформації.

Нижче наведено знімок частини файлу. The експрес@~4.13.1 згадує номер версії експрес-модуля, який використовується.

Файл Package.json

Підсумки

  • Модуль у Node.js — це логічна інкапсуляція коду в єдиний блок. Поділ на модулі робить код більш керованим і придатним для подальшого використання
  • На ринку доступно багато модулів, які можна використовувати в Node.js, наприклад express, underscore, MongoDB, І т.д.
  • Менеджер пакетів вузлів (npm) використовується для завантаження та встановлення модулів, які потім можна використовувати в програмі Node.js.
  • Можна створювати власні модулі NPM, розширювати ці модулі, а також публікувати ці модулі.
  • Менеджер пакетів Node має повний набір команд для керування модулями npm у локальній системі, як-от інсталяція, деінсталяція, пошук тощо.
  • Файл package.json використовується для зберігання всієї інформації метаданих для модуля npm.