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 е високоефективен шаблонен двигател и се изпълнява с JavaСценарий за възел и браузъри.
  4. MongoDB - В MongoDB Node.js драйверът е официално поддържаният node.js драйвер за MongoDB.
  5. Restify – restify е лека рамка, подобна на express за изграждане на REST API
  6. синя птица – Bluebird е напълно функционална обещаваща библиотека с фокус върху иновативни функции и производителност

Използване на модули в Node.js

За да използвате модули в a Node.js приложение, те първо трябва да бъдат инсталирани с помощта на мениджъра на пакети Node.

Командният ред по-долу показва как може да се инсталира модул „express“.

npm инсталирайте експресно

Използване на модули в Node.js

  • Горната команда ще изтегли необходимите файлове, които съдържат „експресните модули“ и ще се погрижи и за инсталацията
  • След като модулът е инсталиран, за да използвате модул в приложение Node.js, трябва да използвате ключовата дума „require“. Тази ключова дума е начин, който Node.js използва, за да включи функционалността на модул в приложение.

Нека да разгледаме пример за това как можем да използваме ключовата дума „require“. Примерът за код „Guru99“ по-долу показва как да използвате функцията за изискване

Използване на модули в 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“, за да включим експресния модул. Модулът “express” е оптимизиран JavaСценарий библиотека за разработка на Node.js. Това е един от най-често използваните модули Node.js.
  2. След включването на модула, за да се използва функционалността в модула, трябва да се създаде обект. Тук се създава обект на експресния модул.
  3. След като модулът е включен с помощта на командата „require“ и е създаден „обект“, необходимите методи на експресния модул могат да бъдат извикани. Тук използваме командата set, за да зададем механизма за изглед, който се използва за задаване на двигателя за шаблони, използван в Node.js.
  4. Забележка: -(Само за разбиране на читателя; машината за шаблони е подход за инжектиране на стойности в приложение чрез събиране на данни от файлове с данни. Тази концепция е доста известна в Angular JS, където фигурните скоби {{ key }} се използват за заместване на стойности в думата „ключ“ във фигурните скоби означава променливата, която ще бъде заменена със стойност, когато се покаже страницата.)

  5. Тук използваме метода слушане, за да накараме приложението да слуша на определен номер на порт.

Как да създадете 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 package manager“ за инсталиране на нашия модул 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 (онлайн инструмент за управление на хранилище на кодове). Може да се използва за хостване на вашите кодови хранилища.

Стъпка ) Трябва да кажете на вашата локална 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 инсталирайте експресно –глобално Глобалната опция в горното изявление е това, което позволява модулите да бъдат инсталирани на глобално ниво.
  2. Изброяване на всички глобални пакети, инсталирани на локална машина. Това може да стане чрез изпълнение на командата по-долу в командния редnpm списък –глобаленПо-долу е изходът, който ще бъде показан, ако преди това сте инсталирали „експресния модул“ на вашата система. Тук можете да видите различните модули, инсталирани на локалната машина.

Управление на пакети на трети страни с NPM

  1. Инсталиране на конкретна версия на пакет – Понякога може да има изискване да се инсталира само конкретната версия на пакет. След като знаете името на пакета и съответната версия, която трябва да бъде инсталирана, можете да използвате командата npm install, за да инсталирате тази конкретна версия. Примерът по-долу показва как да инсталирате модула, наречен underscore, с конкретна версия на 1.7.0npm install долна черта@1.7.0
  2. Актуализиране на версия на пакет – Понякога може да имате по-стара версия на пакет в системата и може да искате да актуализирате до най-новата налична на пазара. За да направите това, можете да използвате командата npm update. Примерът по-долу показва как да актуализирате пакета за подчертаване до най-новата версияnpm актуализиране на подчертаване
  3. Търсене на определен пакет – За да търсите дали определена версия е налична в локалната система или не, можете да използвате командата за търсене на npm. Примерът по-долу ще провери дали експресният модул е ​​инсталиран на локалната машина или не.npm търсене експресно
  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

Oбобщение

  • Модул в Node.js е логическо капсулиране на код в една единица. Разделянето на модули прави кода по-управляем и поддържаем за бъдещи цели
  • На пазара има много модули, които могат да се използват в рамките на Node.js като express, underscore, MongoDBИ др
  • Мениджърът на пакети на възли (npm) се използва за изтегляне и инсталиране на модули, които след това могат да се използват в приложение Node.js.
  • Човек може да създава персонализирани NPM модули, да разширява тези модули и също така да публикува тези модули.
  • Мениджърът на пакети Node има пълен набор от команди за управление на npm модулите в локалната система, като например инсталиране, деинсталиране, търсене и т.н.
  • Файлът package.json се използва за съхраняване на цялата информация за метаданни за npm модул.

Обобщете тази публикация с: