Modul v Node.js je logické zapuzdrenie kódu v jednej jednotke. Vždy je dobrým programovacím postupom vždy oddeľovať kód takým spôsobom, ktorý umožňuje lepšiu správu a údržbu pre budúce účely. Tam prichádzajú do úvahy moduly v Node.js.
Pretože každý modul je samostatná entita s vlastnou zapuzdrenou funkčnosťou, je možné ho spravovať ako samostatnú pracovnú jednotku.
V tomto návode sa naučíte
- Čo sú moduly v Node.js
- Používanie modulov v Node.js
- Vytváranie modulov NPM
- Rozširujúce moduly
- Publikovanie modulov NPM
- Správa balíkov tretích strán s npm
- Čo je súbor package.json
Čo sú moduly v Node.js?
Ako už bolo uvedené skôr, moduly v Node js sú spôsobom zapuzdrenia kódu do samostatnej logickej jednotky. Na trhu existuje veľa hotových modulov, ktoré je možné použiť v rámci Node js.
Ďalej uvádzame niektoré populárne moduly, ktoré sa používajú v aplikácii Node js
- Express framework - Express je minimálny a flexibilný rámec webových aplikácií Node js, ktorý poskytuje robustnú sadu funkcií pre webové a mobilné aplikácie.
- Socket.io - Socket.IO umožňuje obojsmernú komunikáciu založenú na udalostiach v reálnom čase. Tento modul je vhodný na vytváranie chatovacích aplikácií.
- Jade - Jade je vysoko výkonný šablónový stroj a implementovaný pomocou JavaScriptu pre uzly a prehliadače.
- MongoDB - ovládač MongoDB Node.js je oficiálne podporovaný ovládač node.js pre MongoDB.
- Restify - restify je odľahčený rámec, ktorý sa podobá výrazu express na vytváranie rozhraní REST API
- Bluebird - Bluebird je plne vybavená knižnica prísľubov so zameraním na inovatívne funkcie a výkon
Používanie modulov v Node.js
Aby bolo možné moduly používať v aplikácii Node.js, je potrebné ich najskôr nainštalovať pomocou správcu balíkov Node.
Nasledujúci príkazový riadok ukazuje, ako je možné nainštalovať modul „express“.
npm install express
- Vyššie uvedený príkaz stiahne potrebné súbory, ktoré obsahujú „expresné moduly“, a postará sa tiež o inštaláciu
- Po nainštalovaní modulu je na použitie modulu v aplikácii Node.js potrebné použiť kľúčové slovo „require“. Toto kľúčové slovo je spôsob, ktorým Node.js používa na začlenenie funkčnosti modulu do aplikácie.
Pozrime sa na príklad toho, ako môžeme použiť kľúčové slovo „require“. Nasledujúci príklad kódu „Guru99“ ukazuje, ako používať funkciu require
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
- V prvom samotnom príkaze používame kľúčové slovo „require“ na zahrnutie expresného modulu. Modul „express“ je optimalizovaná knižnica JavaScriptu pre vývoj jazyka Node.js. Toto je jeden z najbežnejšie používaných modulov Node.js.
- Po zahrnutí modulu je možné za účelom využitia funkcií modulu vytvoriť objekt. Tu sa vytvorí objekt expresného modulu.
- Akonáhle je modul zahrnutý pomocou príkazu „require“ a je vytvorený „objekt“, je možné vyvolať požadované metódy expresného modulu. Tu používame príkaz set na nastavenie enginu zobrazenia, ktorý sa používa na nastavenie šablónového enginu používaného v Node.js.
Poznámka: - (Len pre pochopenie čitateľa; šablónový nástroj je prístup na vkladanie hodnôt do aplikácie získavaním údajov z dátových súborov. Tento koncept je veľmi známy v Angular JS, kde sa používajú zložené zátvorky {{key}} na nahrádza hodnoty na webovej stránke. Slovo „kľúč“ v zložených zátvorkách v zásade označuje premennú, ktorá bude pri zobrazení stránky nahradená hodnotou.)
- Tu používame metódu listen to, aby aplikácia naslúchala na konkrétnom čísle portu.
Vytváranie modulov NPM
Node.js má schopnosť vytvárať vlastné moduly a umožňuje vám zahrnúť tieto vlastné moduly do vašej aplikácie Node.js.
Pozrime sa na jednoduchý príklad toho, ako si môžeme vytvoriť vlastný modul a zahrnúť tento modul do nášho hlavného súboru aplikácie. Náš modul urobí jednoduchú úlohu pridaním dvoch čísel.
Postupujme podľa nasledujúcich krokov, aby sme zistili, ako môžeme vytvoriť moduly a zahrnúť ich do našej aplikácie.
Krok 1) Vytvorte súbor s názvom „Addition.js“ a zahrňte nasledujúci kód. Tento súbor bude obsahovať logiku vášho modulu.
Nižšie je uvedený kód, ktorý by sa dostal do tohto súboru;
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
- Kľúčové slovo „export“ sa používa na zabezpečenie toho, aby k funkcii definovanej v tomto súbore mohli skutočne získať prístup iné súbory.
- Potom definujeme funkciu s názvom „AddNumber“. Táto funkcia je definovaná tak, aby brala 2 parametre, a a b. Funkcia je pridaná do modulu „exportuje“, aby sa stala funkciou verejnou, ku ktorej majú prístup ďalšie aplikačné moduly.
- Konečne zabezpečujeme, aby naša funkcia vrátila pridanú hodnotu parametrov.
Teraz, keď sme vytvorili náš vlastný modul, ktorý umožňuje pridávanie 2 čísel. Teraz je čas vytvoriť aplikáciu, ktorá bude tento modul nazývať.
V ďalšom kroku uvidíme, ako vytvoriť aplikáciu, ktorá bude volať náš vlastný modul.
Krok 2) Vytvorte súbor s názvom „app.js“, ktorý je vaším hlavným súborom aplikácie, a pridajte nasledujúci kód
var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
- Na zahrnutie funkcií do súboru Addition.js používame kľúčové slovo „vyžadovať“.
- Pretože funkcie v súbore Addition.js sú teraz prístupné, môžeme teraz volať funkciu AddNumber. Vo funkcii odovzdávame 2 čísla ako parametre. Hodnotu potom zobrazujeme v konzole.
Výstup :
- Keď spustíte súbor app.js, v protokole konzoly dostanete výstup s hodnotou 3.
- Výsledkom je, že funkcia AddNumber v súbore Addition.js bola volaná úspešne a v konzole sa zobrazuje vrátená hodnota 3.
Poznámka: - „Správcu balíkov uzlov“ zatiaľ nepoužívame na inštaláciu nášho modulu Addition.js. Je to tak preto, lebo modul je už súčasťou nášho projektu na lokálnom počítači. Správca balíkov uzlov sa objaví na obrázku, keď zverejníte modul na internete, čo vidíme v nasledujúcej téme.
Rozširujúce moduly
Pri vytváraní modulov je tiež možné rozšíriť alebo zdediť jeden modul od druhého.
V modernom programovaní je celkom bežné vybudovať knižnicu bežných modulov a potom v prípade potreby rozšíriť funkčnosť týchto bežných modulov.
Pozrime sa na príklad toho, ako môžeme rozširovať moduly v Node.js.
Krok 1) Vytvorte základný modul.
V našom príklade vytvorte súbor s názvom „Tutorial.js“ a vložte nižšie uvedený kód.
V tomto kóde práve vytvárame funkciu, ktorá vracia reťazec do konzoly. Vrátený reťazec je „Guru99 Tutorial“.
var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
- Exportný modul sa používa tak, že akákoľvek funkcia definovaná v tomto súbore môže byť k dispozícii v iných moduloch v Node.js
- Vytvárame funkciu nazvanú tutorial, ktorú je možné použiť v iných moduloch Node.js.
- Keď sa volá táto funkcia, v konzole zobrazujeme reťazec „Guru99 Tutorial“.
Teraz, keď sme vytvorili náš základný modul s názvom Tutorial.js. Teraz je čas vytvoriť ďalší modul, ktorý rozšíri tento základný modul.
V ďalšom kroku preskúmame, ako to urobiť.
Krok 2) Ďalej vytvoríme náš rozšírený modul. Vytvorte nový súbor s názvom „NodeTutorial.js“ a do súboru vložte nasledujúci kód.
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();}}
Nezabudnite, že nasledujúce kľúčové body týkajúce sa vyššie uvedeného kódu
- Používame funkciu „vyžadovať“ v samotnom súbore nového modulu. Pretože sa chystáme rozšíriť existujúci súbor modulu „Tutorial.js“, musíme ho pred rozšírením najskôr zahrnúť.
- Potom vytvoríme funkciu s názvom „Nodetutorial“. Táto funkcia urobí 2 veci,
- Na konzolu odošle reťazec „Node Tutorial“.
- Odošle reťazec „Guru99 Tutorial“ zo základného modulu „Tutorial.js“ do nášho rozšíreného modulu „NodeTutorial.js“.
- Tu vykonávame prvý krok na odoslanie reťazca do „Node Tutorial“ na konzolu.
- Ďalším krokom je volanie funkcie z nášho modulu Tutorial, ktorý odošle reťazec „Guru99 Tutorial“ do console.log.
Krok 3) Vytvorte hlavný súbor app.js, ktorý je hlavným súborom aplikácie, a uveďte nasledujúci kód.
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
Vyššie uvedený kód umožňuje nasledujúce činnosti;
- Náš hlavný súbor aplikácie teraz volá modul „NodeTutorial“.
- Voláme funkciu „NodeTutorial“. Po zavolaní tejto funkcie sa v protokole konzoly zobrazí text „Node Tutorial“.
- Pretože sme rozšírili náš modul Tutorial.js a odhalili sme funkciu s názvom pTutor. Volá tiež modul výučby v module Tutorial.js a na konzole sa zobrazí aj text „Guru99 Tutorial“.
Výkon:
Pretože sme vyššie uvedený kód app.js vykonali pomocou Node, dostaneme v súbore console.log nasledujúci výstup
- Výukový program uzlov
- Výukový program Guru99
Publikovanie modulov NPM (Node Package Manager)
Jeden môže publikovať svoj vlastný modul do svojho vlastného úložiska Github.
Publikovaním modulu na centrálne miesto potom nie ste zaťažení nutnosťou inštalácie sami na každom stroji, ktorý to vyžaduje.
Namiesto toho môžete použiť príkaz install NPM a nainštalovať zverejnený modul NPM.
Pri publikovaní modulu npm je potrebné vykonať nasledujúce kroky
Krok 1) Vytvorte si svoje úložisko na GitHub (online nástroj na správu úložiska kódov). Môže byť použitý na hosťovanie vašich úložísk kódov.
Krok 2 ) Musíte povedať svojej miestnej inštalácii NPM, kto ste. Čo znamená, že musíme povedať NPM, kto je autorom tohto modulu, aké je ID e-mailu a akákoľvek adresa URL spoločnosti, ktorá je k dispozícii a ktorá musí byť s týmto ID spojená. Všetky tieto podrobnosti budú po zverejnení pridané do vášho modulu npm.
Nasledujúce príkazy nastavujú meno, e-mail a URL autora modulu npm.
npm set init.author.name "Guru99."
npm set init.author.email " Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript."
npm set init.author.url http://Guru99.com
Krok 3) Ďalším krokom je prihlásenie do npm pomocou prihlasovacích údajov uvedených v poslednom kroku. Na prihlásenie je potrebné použiť nasledujúci príkaz
npm login
Krok 4) Inicializácia balíka - Ďalším krokom je inicializácia balíka a vytvorenie súboru package.json. To je možné vykonať vykonaním príkazu uvedeného nižšie
npm init
Po zadaní vyššie uvedeného príkazu sa zobrazí výzva na zadanie niekoľkých otázok. Najdôležitejšie je číslo verzie vášho modulu.
Krok 5) Publikovanie na GitHub - Ďalším krokom je publikovanie zdrojových súborov na GitHub. To je možné vykonať spustením nasledujúcich príkazov.
git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags
Krok 6) Publikovanie modulu - Posledným bitom je publikácia modulu do registra npm. To sa deje pomocou nižšie uvedeného príkazu.
npm publish
Správa balíkov tretích strán s npm
Ako sme videli, „správca balíkov uzlov“ má schopnosť spravovať moduly, ktoré aplikácie Node.js vyžadujú.
Pozrime sa na niektoré z funkcií dostupných v správcovi balíkov uzlov na správu modulov
-
Inštalácia balíkov v globálnom režime - Moduly je možné inštalovať na globálnej úrovni, čo v podstate znamená, že tieto moduly budú k dispozícii pre všetky projekty Node.js na lokálnom počítači. Nasledujúci príklad ukazuje, ako nainštalovať „expresný modul“ s globálnou možnosťou.
npm install express -global
Globálna možnosť vo vyššie uvedenom vyhlásení je to, čo umožňuje inštaláciu modulov na globálnej úrovni.
-
Zoznam všetkých globálnych balíkov nainštalovaných na lokálnom počítači. Môžete to urobiť vykonaním nižšie uvedeného príkazu v príkazovom riadku
zoznam NPM - globálny
Nižšie je uvedený výstup, ktorý sa zobrazí, ak ste vo svojom systéme už nainštalovali „expresný modul“.
Tu vidíte rôzne moduly nainštalované na lokálnom počítači.
-
Inštalácia konkrétnej verzie balíka - Niekedy môže existovať požiadavka na inštaláciu iba konkrétnej verzie balíka. Keď poznáte názov balíka a príslušnú verziu, ktorú je potrebné nainštalovať, môžete na inštaláciu konkrétnej verzie použiť príkaz npm install.
Nasledujúci príklad ukazuje, ako nainštalovať modul s názvom podčiarknutie so špecifickou verziou 1.7.0
npm nainštalujte podčiarkovní[email protected]
-
Aktualizácia verzie balíka - Niekedy môžete mať v systéme staršiu verziu balíka a možno budete chcieť aktualizovať na najnovšiu dostupnú na trhu. K tomu je možné použiť príkaz npm update. Nasledujúci príklad ukazuje, ako aktualizovať balík podčiarknutia na najnovšiu verziu
npm update podčiarknutie
-
Vyhľadávanie konkrétneho balíka - Ak chcete vyhľadať, či je konkrétna verzia k dispozícii v lokálnom systéme alebo nie, môžete použiť vyhľadávací príkaz npm. Nasledujúci príklad skontroluje, či je modul Express nainštalovaný na lokálnom počítači alebo nie.
vyhľadávanie NPM expresné
-
Odinštalovanie balíka - Rovnako, ako pri ktorom môžete nainštalovať balík, môžete balík aj odinštalovať. Odinštalovanie balíka sa vykonáva pomocou príkazu na odinštalovanie npm. Nasledujúci príklad ukazuje, ako odinštalovať expresný modul
NPM odinštalovať Express
Čo je súbor package.json
Súbor „package.json“ sa používa na uchovávanie metadát o konkrétnom projekte . Tieto informácie poskytujú správcovi balíkov uzlov potrebné informácie na pochopenie toho, ako by sa malo s projektom zaobchádzať, spolu s jeho závislosťami.
Súbory package.json obsahujú informácie, ako napríklad popis projektu, verzia projektu v konkrétnej distribúcii, licenčné informácie a konfiguračné údaje.
Súbor package.json sa zvyčajne nachádza v koreňovom adresári projektu Node.js.
Uveďme si príklad toho, ako vyzerá štruktúra modulu, keď je nainštalovaný cez npm.
Nasledujúca snímka zobrazuje obsah súboru expresného modulu, ak je zahrnutý vo vašom projekte Node.js. Na snímke môžete vidieť súbor package.json v priečinku express.
Ak otvoríte súbor package.json, v súbore uvidíte veľa informácií.
Nižšie je uvedený obrázok časti súboru. Express@~4.13.1 zmieňuje číslo verzie výslovného modulu používaný.
Zhrnutie
- Modul v Node.js je logické zapuzdrenie kódu v jednej jednotke. Vďaka rozdeleniu na moduly je kód lepšie spravovateľný a udržiavateľný pre budúce účely
- Na trhu je k dispozícii veľa modulov, ktoré je možné v rámci Node.js použiť, ako napríklad express, underscore, MongoDB atď.
- Správca balíkov uzlov (npm) sa používa na stiahnutie a inštaláciu modulov, ktoré sa potom dajú použiť v aplikácii Node.js.
- Jeden môže vytvárať vlastné NPM moduly, rozširovať ich a tiež zverejňovať tieto moduly.
- Správca balíkov uzlov má kompletnú sadu príkazov na správu modulov npm v lokálnom systéme, ako je inštalácia, odinštalovanie, vyhľadávanie atď.
- Súbor package.json sa používa na uchovanie všetkých informácií o metaúdajoch pre modul npm.