Модул у Ноде.јс је логична енкапсулација кода у једној јединици. Увек је добра пракса програмирања увек одвајати код на такав начин да га чини лакшим за управљање и одрживим за будуће сврхе. Ту модули у Ноде.јс-у ступају у акцију.
Будући да је сваки модул независна целина са сопственом инкапсулираном функционалношћу, њиме се може управљати као посебном јединицом рада.
У овом упутству ћете научити-
- Шта су модули у Ноде.јс
- Коришћење модула у Ноде.јс
- Креирање НПМ модула
- Проширивање модула
- Објављивање НПМ модула
- Управљање независним пакетима са нпм
- Шта је датотека пацкаге.јсон
Шта су модули у Ноде.јс?
Као што је раније речено, модули у Ноде јс-у су начин енкапсулације кода у засебну логичку јединицу. На тржишту је доступно много готових модула који се могу користити у оквиру Ноде јс.
Испод су неки од популарних модула који се користе у Ноде јс апликацији
- Екпресс фрамеворк - Екпресс је минималан и флексибилан оквир веб апликација Ноде јс који пружа робустан скуп функција за веб и мобилне апликације.
- Соцкет.ио - Соцкет.ИО омогућава двосмерну комуникацију засновану на догађајима у реалном времену. Овај модул је добар за стварање апликација заснованих на ћаскању.
- Јаде - Јаде је механизам предложака високих перформанси и имплементиран са ЈаваСцрипт-ом за чвор и прегледаче.
- МонгоДБ - МонгоДБ Ноде.јс управљачки програм је званично подржани ноде.јс управљачки програм за МонгоДБ.
- Рестифи - рестифи је лаган оквир, сличан експресном за изградњу РЕСТ АПИ-ја
- Блуебирд - Блуебирд је потпуно обећана библиотека обећања са фокусом на иновативне функције и перформансе
Коришћење модула у Ноде.јс
Да би могли да користе модуле у Ноде.јс апликацији, прво их треба инсталирати помоћу Ноде менаџера пакета.
Доле наведена командна линија показује како се модул "екпресс" може инсталирати.
нпм инсталл екпресс
- Горња команда ће преузети потребне датотеке које садрже „брзе модуле“ и побринути се и за инсталацију
- Једном када је модул инсталиран, да бисте користили модул у Ноде.јс апликацији, морате користити кључну реч 'рекуире'. Ова кључна реч је начин који Ноде.јс користи за уграђивање функционалности модула у апликацију.
Погледајмо пример како можемо да користимо кључну реч „рекуире“. Следећи пример кода "Гуру99" показује како се користи функција рекуире
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
- У самој првој изјави користимо кључну реч „рекуире“ да бисмо укључили експресни модул. Модул „екпресс“ је оптимизована ЈаваСцрипт библиотека за развој Ноде.јс-а. Ово је један од најчешће коришћених Ноде.јс модула.
- Након што је модул укључен, да би се користила функционалност унутар модула, потребно је створити објекат. Овде се креира објекат експрес модула.
- Једном када се модул укључи помоћу наредбе „рекуире“ и креира „објект“, могу се позвати потребне методе експресног модула. Овде користимо наредбу сет за подешавање механизма за приказ који се користи за подешавање механизма за предлошке који се користи у Ноде.јс.
Напомена: - (Само за разумевање читаоца; механизам за шаблонирање је приступ убризгавању вредности у апликацију преузимањем података из датотека података. Овај концепт је прилично познат у Ангулар ЈС-у у коме се коврџаве заграде {{кеи}} користе за замењује вредности на веб страници. Реч „кључ“ у витичастим заградама у основи означава променљиву која ће бити замењена вредношћу када се страница прикаже.)
- Овде користимо методу преслушавања да би апликација учинила да преслушава на одређеном броју порта.
Креирање НПМ модула
Ноде.јс има могућност креирања прилагођених модула и омогућава вам да те прилагођене модуле укључите у своју Ноде.јс апликацију.
Погледајмо једноставан пример како можемо створити сопствени модул и укључити га у нашу главну датотеку апликације. Наш модул ће урадити једноставан задатак сабирања два броја.
Слиједимо кораке у наставку да бисмо видјели како можемо створити модуле и укључити их у нашу апликацију.
Корак 1) Направите датотеку под називом „Аддитион.јс“ и укључите доњи код. Ова датотека ће садржати логику вашег модула.
Испод је код који ће ући у ову датотеку;
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
- Кључна реч „извози“ користи се да би се осигурало да друге датотеке могу стварно приступити функцији дефинисаној у овој датотеци.
- Тада дефинишемо функцију која се назива „АддНумбер“. Ова функција је дефинисана да узима 2 параметра, а и б. Функција се додаје модулу „извози“ да би функција постала јавна функција којој могу да приступе други апликативни модули.
- Напокон чинимо да наша функција врати додану вредност параметара.
Сада када смо креирали наш прилагођени модул који има функцију додавања 2 броја. Сада је време да креирамо апликацију која ће позвати овај модул.
У следећем кораку видећемо како да креирамо апликацију која ће позвати наш прилагођени модул.
Корак 2) Направите датотеку под називом „апп.јс“, која је ваша главна датотека апликације, и додајте доњи код
var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
- Користимо кључну реч „рекуире“ да бисмо укључили функционалност у датотеку Аддитион.јс.
- Пошто су функције у датотеци Аддитион.јс сада доступне, сада можемо упутити позив функцији АддНумбер. У функцији преносимо 2 броја као параметре. Затим приказујемо вредност у конзоли.
Излаз :
- Када покренете датотеку апп.јс, добићете излаз вредности 3 у дневнику конзоле.
- Резултат је то што је функција АддНумбер у датотеци Аддитион.јс позвана успешно, а враћена вредност 3 приказана је у конзоли.
Напомена: - Још увек не користимо „Менаџер пакета чворова“ за инсталирање нашег модула Аддитион.јс. То је зато што је модул већ део нашег пројекта на локалној машини. Управитељ пакета Ноде долази на слици када објавите модул на Интернету, што видимо у следећој теми.
Проширивање модула
Када креирате модуле, такође је могуће проширити или наследити један модул од другог.
У модерном програмирању уобичајено је изградити библиотеку заједничких модула, а затим проширити функционалност ових уобичајених модула ако је потребно.
Погледајмо пример како можемо проширити модуле у Ноде.јс.
Корак 1) Креирајте основни модул.
У нашем примеру направите датотеку под називом „Туториал.јс“ и ставите доњи код.
У овом коду само креирамо функцију која враћа низ на конзолу. Враћени низ је "Водич за Гуру99".
var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
- Модул за извоз се користи тако да било која функција дефинисана у овој датотеци може бити доступна у другим модулима у Ноде.јс
- Стварамо функцију која се назива туториал која се може користити у другим Ноде.јс модулима.
- Приказујемо низ „Водич за Гуру99“ у конзоли када је ова функција позвана.
Сада када смо креирали наш основни модул под називом Туториал.јс. Сада је време да креирамо још један модул који ће проширити овај основни модул.
Истражићемо како то учинити у следећем кораку.
Корак 2) Затим ћемо створити наш проширени модул. Направите нову датотеку под називом „НодеТуториал.јс“ и ставите доњи код у датотеку.
var Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")function pTutor(){var PTutor=TutorPTutor.tutorial();}}Orvar Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")this.pTutor = function (){var PTutor=TutorPTutor.tutorial();}}
Напомена, следеће кључне тачке у вези са горњим кодом
- У новој датотеци модула користимо функцију „рекуире“. Будући да ћемо проширити постојећу датотеку модула „Туториал.јс“, прво је морамо укључити пре него што је проширимо.
- Затим креирамо функцију која се назива „Нодетуториал“. Ова функција ће урадити две ствари,
- На конзолу ће послати низ „Водич за чвор“.
- Послат ће низ „Водич за Гуру99“ из основног модула „Туториал.јс“ у наш проширени модул „НодеТуториал.јс“.
- Овде изводимо први корак за слање низа у „Водич за чворове“ на конзолу.
- Следећи корак је позивање функције из нашег модула водича, који ће на конзолу извести низ „Водич за Гуру99“.
Корак 3) Направите своју главну датотеку апп.јс, која је ваша главна датотека апликације, и укључите доњи код.
var localTutor=require('./NodeTutorial.js');localTutor.NodeTutorial();localTutor.NodeTutorial.pTutor();Or use this codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object
Горњи код чини следеће ствари;
- Наша главна апликациона датотека сада позива модул "НодеТуториал".
- Позивамо функцију „НодеТуториал“. Позивањем ове функције, текст „Водич за чвор“ биће приказан у дневнику конзоле.
- Пошто смо проширили наш модул Туториал.јс и изложили функцију звану пТутор. Такође позива модул водича у модулу Туториал.јс, а текст „Водич за Гуру99“ такође ће бити приказан на конзоли.
Излаз:
Пошто смо извршили горњи апп.јс код помоћу Ноде, добићемо следећи излаз у датотеци цонсоле.лог
- Водич за чвор
- Водич за Гуру99
Објављивање НПМ (Ноде Пацкаге Манагер) модула
Може се објавити сопствени модул у сопственом складишту Гитхуб-а.
Објављивањем модула на централном месту, тада нисте оптерећени потребом да се инсталирате на сваку машину која то захтева.
Уместо тога, можете да користите наредбу за инсталирање нпм и инсталирате свој објављени нпм модул.
Да бисте објавили свој нпм модул, потребно је следити следеће кораке
Корак 1) Креирајте своје спремиште на ГитХуб-у (алат за управљање спремиштем на мрежи). Може се користити за хостинг ваших спремишта кода.
Корак 2 ) Морате рећи локалној инсталацији нпм о томе ко сте. Што значи да нпм-у треба да кажемо ко је аутор овог модула, који је ИД е-адресе и било који УРЛ компаније који је доступан и који треба да буде повезан са овим ИД-ом. Сви ови детаљи ће бити додати вашем нпм модулу када буде објављен.
Наредбе у наставку постављају име, е-пошту и УРЛ аутора нпм модула.
нпм постављено инит.аутхор.наме "Гуру99."
нпм сет инит.аутхор.емаил " Ова адреса е-поште је заштићена од нежељених робота. Потребан вам је Јава-скрипта да бисте је видели."
нпм постављено инит.аутхор.урл хттп://Гуру99.цом
Корак 3) Следећи корак је пријављивање у нпм помоћу акредитива датих у последњем кораку. Да бисте се пријавили, потребно је да користите наредбу испод
npm login
Корак 4) Иницијализација пакета - Следећи корак је иницијализација пакета ради креирања датотеке пацкаге.јсон. То се може учинити издавањем наредбе у наставку
npm init
Када издате горњу команду, од вас ће се затражити нека питања. Најважнији је број верзије вашег модула.
Корак 5) Објавите на ГитХуб - Следећи корак је објављивање изворних датотека на ГитХуб-у. То се може постићи покретањем наредби у наставку.
git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags
Корак 6) Објавите свој модул - Последњи бит је објављивање вашег модула у регистру нпм. То се ради помоћу наредбе испод.
npm publish
Управљање независним пакетима са нпм
Као што смо видели, „Ноде манагер пакета“ има могућност управљања модулима, који су потребни за Ноде.јс апликације.
Погледајмо неке функције доступне у управљачу пакетима чворова за управљање модулима
-
Инсталирање пакета у глобалном режиму - Модули се могу инсталирати на глобалном нивоу, што само у основи значи да би ти модули били доступни за све пројекте Ноде.јс на локалној машини. Пример у наставку показује како инсталирати „експресни модул“ са глобалном опцијом.
нпм инсталирај екпресс -глобал
Глобална опција у горњој изјави је оно што омогућава инсталирање модула на глобалном нивоу.
-
Попис свих глобалних пакета инсталираних на локалној машини. То се може учинити извршавањем наредбе у наставку у командној линији
нпм листа --глобал
Испод је излаз који ће бити приказан ако сте претходно инсталирали „експресни модул“ на свој систем.
Овде можете видети различите модуле инсталиране на локалној машини.
-
Инсталирање одређене верзије пакета - Понекад може постојати захтев за инсталирање само одређене верзије пакета. Једном када сазнате име пакета и релевантну верзију коју треба инсталирати, можете користити команду нпм инсталл да бисте инсталирали ту одређену верзију.
Пример у наставку показује како инсталирати модул зван подвлака са одређеном верзијом 1.7.0
нпм инсталирати доњу црту@1.7.0
-
Ажурирање верзије пакета - Понекад можда имате старију верзију пакета у систему и можда ћете желети да је ажурирате на најновију која је доступна на тржишту. Да бисте то урадили, можете користити команду нпм упдате. Пример у наставку показује како ажурирати пакет доњих црта на најновију верзију
нпм упдате доња црта
-
Тражење одређеног пакета - Да бисте претражили да ли је одређена верзија доступна на локалном систему или не, можете користити наредбу за претрагу нпм. Пример у наставку ће проверити да ли је експресни модул инсталиран на локалној машини или не.
нпм сеарцх екпресс
-
Деинсталирање пакета - Исто у који можете да инсталирате пакет, можете и деинсталирати пакет. Деинсталација пакета се врши помоћу наредбе за деинсталацију нпм. Пример у наставку показује како да деинсталирате експресни модул
нпм деинсталирај експрес
Шта је датотека пацкаге.јсон
Датотека „пацкаге.јсон“ се користи за чување метаподатака о одређеном пројекту . Ове информације пружају управитељу пакета Ноде потребне информације да би разумео како са пројектом треба руковати заједно са његовим зависностима.
Датотеке пацкаге.јсон садрже информације као што су опис пројекта, верзија пројекта у одређеној дистрибуцији, информације о лиценци и подаци о конфигурацији.
Датотека пацкаге.јсон се обично налази у основном директоријуму Ноде.јс пројекта.
Узмимо пример како изгледа структура модула када се инсталира преко нпм.
Снимак у наставку приказује садржај датотеке експрес модула када је укључен у ваш Ноде.јс пројекат. На снимку можете да видите датотеку пацкаге.јсон у директоријуму екпресс.
Ако отворите датотеку пацкаге.јсон, видећете пуно података у датотеци.
Испод је снимак дела датотеке. Екпресс@~4.13.1 помиње број верзија експресни модула који се користи.
Резиме
- Модул у Ноде.јс је логична енкапсулација кода у једној јединици. Одвајањем на модуле чини код лакшим за управљање и одрживији за будуће сврхе
- На тржишту је доступно много модула који се могу користити унутар Ноде.јс-а као што су екпресс, доња црта, МонгоДБ итд.
- Управитељ пакета чворова (нпм) користи се за преузимање и инсталирање модула који се затим могу користити у апликацији Ноде.јс.
- Могу се креирати прилагођени НПМ модули, проширити ови модули и такође објавити ови модули.
- Управитељ пакета Ноде има комплетан скуп наредби за управљање нпм модулима на локалном систему, као што су инсталација, деинсталација, претраживање итд.
- Датотека пацкаге.јсон користи се за чување целокупних података о метаподацима за нпм модул.