A Node.js modulja a kód logikai beágyazása egyetlen egységbe. Mindig jó programozási gyakorlat, ha a kódot mindig úgy szegregáljuk, hogy az kezelhetőbbé és fenntarthatóbbá váljon a jövőbeni célokra. Itt lépnek működésbe a Node.js moduljai.
Mivel mindegyik modul független entitás, amelynek saját beágyazott funkcionalitása van, különálló munkaegységként kezelhető.
Ebben az oktatóanyagban megtanulja-
- Mik a Node.js moduljai
- Modulok használata a Node.js fájlban
- NPM modulok létrehozása
- Modulok kiterjesztése
- NPM modulok közzététele
- Harmadik féltől származó csomagok kezelése npm-mel
- Mi az a package.json fájl
Mik a Node.js moduljai?
Amint azt korábban említettük, a Node js moduljai a kód különálló logikai egységbe történő beágyazásának egyik módja. A piacon sok olyan elkészített modul áll rendelkezésre, amelyek a Node js-en belül használhatók.
Az alábbiakban bemutatjuk azokat a népszerű modulokat, amelyeket egy Node js alkalmazásban használnak
- Express keretrendszer - Az Express egy minimális és rugalmas Node js webalkalmazás-keretrendszer, amely robusztus funkciókat kínál a webes és mobilalkalmazások számára.
- Socket.io - A Socket.IO valós idejű kétirányú eseményalapú kommunikációt tesz lehetővé. Ez a modul alkalmas csevegésen alapuló alkalmazások létrehozására.
- Jade - A Jade egy nagy teljesítményű sablonmotor, amelyet JavaScript-sel valósított meg a csomópontok és a böngészők számára.
- MongoDB - A MongoDB Node.js illesztőprogram a MongoDB hivatalosan támogatott node.js illesztőprogramja.
- Az Restify - restify egy könnyű keretrendszer, hasonló a REST API-k kiépítéséhez használt expresszhez
- Bluebird - A Bluebird egy teljes funkcionalitású ígérettár, amely az innovatív funkciókra és a teljesítményre összpontosít
Modulok használata a Node.js fájlban
A modulok Node.js alkalmazásban történő használatához először a Node csomagkezelő segítségével kell telepíteni őket.
Az alábbi parancssor megmutatja, hogyan lehet egy "express" modult telepíteni.
npm install express
- A fenti parancs letölti a szükséges fájlokat, amelyek tartalmazzák az "express modulokat", és gondoskodnak a telepítésről is
- A modul telepítése után a modul használatához a Node.js alkalmazásban a „szükséges” kulcsszót kell használnia. Ez a kulcsszó a Node.js által használt módszer funkcionalitásának beépítése az alkalmazásba.
Nézzünk meg egy példát arra, hogyan használhatjuk a "megkövetel" kulcsszót. Az alábbi "Guru99" kódpélda bemutatja, hogy miként használható a szükséges függvény
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
- Magában az első utasításban a "szükséges" kulcsszót használjuk az expressz modul beépítésére. Az "expressz" modul egy optimalizált JavaScript könyvtár a Node.js fejlesztéséhez. Ez az egyik leggyakrabban használt Node.js modul.
- A modul beépítése után egy objektumot kell létrehozni a modulon belüli funkcionalitás használatához. Itt létrehozza az express modul egy objektumát.
- Miután a modul bekerült a "szükség" paranccsal és létrehozott egy "objektum", meghívhatók az expressz modul szükséges metódusai. Itt a set paranccsal állítjuk be a nézetmotort, amely a Node.js-ben használt sablonmotor beállítására szolgál.
Megjegyzés: - (Csak az olvasó megértése érdekében; a sablonmotor olyan megközelítést jelent, amellyel értékeket lehet beinjektálni egy alkalmazásba adatfájlok adatainak felvétele révén. Ez a koncepció eléggé híres az Angular JS-ben, ahol a göndör zárójeleket {{key}} használják értékeket helyettesít a weboldalon. A göndör zárójelben szereplő „kulcs” szó alapvetően azt a változót jelöli, amelyet az oldal megjelenítésekor egy érték helyettesít.)
- Itt a hallgatás módszert használjuk arra, hogy az alkalmazás hallgasson egy adott portszámot.
NPM modulok létrehozása
A Node.js képes egyedi modulokat létrehozni, és lehetővé teszi, hogy ezeket az egyedi modulokat felvegye a Node.js alkalmazásba.
Nézzünk meg egy egyszerű példát arra, hogyan hozhatunk létre saját modult, és hogyan vehetjük fel a modult a fő alkalmazásfájlunkba. Modulunk csak egy egyszerű feladatot fog elvégezni két szám hozzáadásával.
Kövessük az alábbi lépéseket, hogy lássuk, hogyan hozhatunk létre modulokat, és hogyan vehetjük fel őket alkalmazásunkba.
1. lépés: Hozzon létre egy "Addition.js" nevű fájlt, és tartalmazza az alábbi kódot. Ez a fájl tartalmazza a modul logikáját.
Az alábbiakban látható a kód, amely ebbe a fájlba kerülne;
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
- Az "export" kulcsszó arra szolgál, hogy az ebben a fájlban meghatározott funkciókat más fájlok is ténylegesen elérhessék.
- Ezután meghatározzuk az 'AddNumber' nevű függvényt. Ez a függvény 2 paraméter, a és b paraméter elfogadására van meghatározva. A funkció hozzáadódik az "export" modulhoz, hogy a funkció nyilvános funkcióvá váljon, amelyhez más alkalmazásmodulok is hozzáférhetnek.
- Végül arra késztetjük a függvényünket, hogy visszatérjen a paraméterek hozzáadott értékéhez.
Most, hogy létrehoztuk az egyedi modulunkat, amelynek funkciója 2 szám hozzáadása. Itt az ideje létrehozni egy alkalmazást, amely ezt a modult hívja.
A következő lépésben meglátjuk, hogyan lehet létrehozni az alkalmazást, amely meghívja az egyedi modulunkat.
2. lépés: Hozzon létre egy „app.js” nevű fájlt, amely a fő alkalmazásfájl, és adja hozzá az alábbi kódot
var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
- A "szükséges" kulcsszót használjuk a funkcionalitás felvételére az Addition.js fájlba.
- Mivel az Addition.js fájlban lévő funkciók már elérhetők, most felhívhatjuk az AddNumber függvényt. A függvényben 2 számot adunk meg paraméterként. Ezután megjelenítjük az értéket a konzolon.
Kimenet :
- Az app.js fájl futtatásakor a konzol naplójába 3 értékű kimenetet kap.
- Ennek az az eredménye, hogy az Addition.js fájlban az AddNumber függvény sikeresen meghívásra került, és a visszaadott 3 érték megjelent a konzolon.
Megjegyzés: - Az Addition.js modul telepítéséhez még nem használjuk a "Csomópont csomagkezelőt". Ez azért van, mert a modul már része a projektünknek a helyi gépen. A Node csomagkezelő akkor jelenik meg a képen, amikor közzétesz egy modult az interneten, amelyet a következő témakörben láthatunk.
Modulok kiterjesztése
Modulok létrehozásakor lehetőség van az egyik modul kiterjesztésére vagy örökölésére is a másiktól.
A mai programozás során meglehetősen gyakori a közös modulok könyvtárának felépítése, majd szükség esetén a közös modulok funkcionalitásának bővítése.
Nézzünk meg egy példát arra, hogyan bővíthetjük a modulokat a Node.js fájlban.
1. lépés: Hozza létre az alapmodult.
Példánkban hozzon létre egy "Tutorial.js" nevű fájlt, és tegye be az alábbi kódot.
Ebben a kódban éppen egy olyan függvényt hozunk létre, amely egy karakterláncot ad vissza a konzolhoz. A visszaadott karakterlánc a "Guru99 Tutorial".
var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
- Az exportáló modult úgy használják, hogy a fájlban definiált bármely funkció elérhető legyen a Node.js más moduljaiban
- Létrehozunk egy tutorial nevű függvényt, amely más Node.js modulokban is használható.
- A "Guru99 Tutorial" karakterláncot jelenítjük meg a konzolon, amikor ezt a funkciót meghívjuk.
Most, hogy létrehoztuk a Tutorial.js nevű alapmodulunkat. Itt az ideje létrehozni egy másik modult, amely kibővíti ezt az alapmodult.
A következő lépésben megvizsgáljuk, hogyan lehet ezt megtenni.
2. lépés) Ezután létrehozzuk a kiterjesztett modult. Hozzon létre egy új fájlt "NodeTutorial.js" néven, és helyezze az alábbi kódot a fájlba.
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();}}
Ne feledje, hogy az alábbi kulcsfontosságú pontok a fenti kóddal kapcsolatban
- Magában az új modul fájlban használjuk a "szükség" funkciót. Mivel a meglévő "Tutorial.js" modulfájlt kibővítjük, a kiterjesztés előtt először be kell építenünk.
- Ezután létrehozunk egy "Nodetutorial" nevű függvényt. Ez a funkció 2 dolgot fog megtenni,
- A "Node Tutorial" karakterláncot küld a konzolnak.
- A "Guru99 Tutorial" karakterláncot elküldi a "Tutorial.js" alapmodulról a "NodeTutorial.js" kiterjesztett modulunkra.
- Itt hajtjuk végre az első lépést, hogy egy karakterláncot küldjünk a "Node Tutorial" -hoz a konzolhoz.
- A következő lépés a függvény meghívása az Oktató modulunkból, amely a "Guru99 Tutorial" karakterláncot adja ki a console.log fájlba.
3. lépés: Hozza létre a fő app.js fájlt, amely a fő alkalmazásfájl, és tartalmazza az alábbi kódot.
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
A fenti kód a következő dolgokat hajtja végre;
- Fő alkalmazásfájlunk most a "NodeTutorial" modult hívja.
- Hívjuk a "NodeTutorial" függvényt. Ennek a függvénynek a meghívásával a "Csomópont bemutató" szöveg jelenik meg a konzol naplójában.
- Mivel kibővítettük a Tutorial.js modulunkat, és kitettük a pTutor nevű függvényt. A Tutorial.js modulban meghívja az oktató modult is, és a "Guru99 Tutorial" szöveg megjelenik a konzolon is.
Kimenet:
Mivel a fenti app.js kódot a Node használatával hajtottuk végre, a következő kimenetet kapjuk a console.log fájlban
- Csomópont bemutató
- Guru99 bemutató
NPM (Node Package Manager) modulok közzététele
Kiadhatja saját modulját a saját Github adattárában.
Ha a modult központi helyre teszi közzé, akkor nem terheli meg azt, hogy telepítenie kell magát minden gépre, amelyre szüksége van.
Ehelyett használhatja az npm install parancsot, és telepítheti a közzétett npm modult.
Az npm modul közzétételéhez a következő lépéseket kell végrehajtani
1. lépés: Készítse el a tárát a GitHub-on (egy online kódtár-kezelő eszköz). Használható a kódtárak tárolására.
2. lépés ) El kell mondania a helyi npm telepítést arról, hogy ki vagy. Ami azt jelenti, hogy meg kell mondanunk az npm-nek, ki a modul szerzője, mi az e-mail azonosító és az elérhető vállalati URL, amelyet társítani kell ehhez az azonosítóhoz. Mindezek a részletek hozzá lesznek adva az npm moduljához, amikor azt közzéteszik.
Az alábbi parancsok beállítják az npm modul szerzőjének nevét, e-mail címét és URL-jét.
npm beállítása init.author.name "Guru99".
npm set init.author.email " Ez az e-mail cím védett a spam robotoktól, a megtekintéshez engedélyezni kell a Javascriptet."
npm állítsa be az init.author.url http://Guru99.com címet
3. lépés: A következő lépés az npm-be történő bejelentkezés az utolsó lépésben megadott hitelesítő adatokkal. A bejelentkezéshez az alábbi parancsot kell használnia
npm login
4. lépés) A csomag inicializálása - A következő lépés a csomag inicializálása a package.json fájl létrehozásához. Ezt az alábbi parancs kiadásával lehet megtenni
npm init
Amikor kiadja a fenti parancsot, a rendszer kéri néhány kérdést. A legfontosabb a modul verziószáma.
5. lépés: Közzététel a GitHub-ban - A következő lépés a forrásfájlok közzététele a GitHub-on. Ez az alábbi parancsok futtatásával tehető meg.
git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags
6. lépés: Tegye közzé a modult - Az utolsó bit a modul közzététele az npm rendszerleíró adatbázisban. Ez az alábbi paranccsal történik.
npm publish
Harmadik féltől származó csomagok kezelése npm-mel
Mint láttuk, a "Node csomagkezelő" képes modulokat kezelni, amelyekre a Node.js alkalmazások szükségesek.
Vizsgáljuk meg a csomópont csomagkezelőben a modulok kezeléséhez rendelkezésre álló néhány funkciót
-
Csomagok telepítése globális módban - A modulok globális szinten is telepíthetők, ami alapvetően azt jelenti, hogy ezek a modulok elérhetőek lennének az összes Node.js projekt számára egy helyi gépen. Az alábbi példa bemutatja, hogyan kell telepíteni az "express modult" a globális opcióval.
npm install express -global
A fenti állítás globális opciója lehetővé teszi a modulok globális szintű telepítését.
-
A helyi gépre telepített összes globális csomag felsorolása. Ez úgy tehető meg, hogy végrehajtja az alábbi parancsot a parancssorban
npm lista - globális
Az alábbiakban látható a kimenet, amely akkor jelenik meg, ha korábban telepítette az "express modult" a rendszerére.
Itt láthatja a helyi gépre telepített különféle modulokat.
-
A csomag adott verziójának telepítése - Előfordulhat, hogy csak a csomag adott verziójának telepítésére van szükség. Miután megismerte a csomag nevét és a telepíteni kívánt verziót, az npm install paranccsal telepítheti az adott verziót.
Az alábbi példa bemutatja az aláhúzás nevű modul telepítését az 1.7.0 adott verziójával
npm telepítse az aláhúzá[email protected]
-
Csomagverzió frissítése - Előfordulhat, hogy a rendszerben van egy csomag régebbi verziója, és érdemes frissíteni a piacon elérhető legfrissebbre. Ehhez használhatja az npm update parancsot. Az alábbi példa bemutatja, hogyan frissítheti az aláhúzás csomagot a legújabb verzióra
npm frissítés aláhúzás
-
Egy adott csomag keresése - Az npm keresési paranccsal megkeresheti, hogy egy adott verzió elérhető-e a helyi rendszeren, vagy sem. Az alábbi példa ellenőrzi, hogy az expressz modul telepítve van-e a helyi gépre, vagy sem.
npm keresési expressz
-
Csomag eltávolítása - Ugyanaz, ahová csomagot telepíthet, eltávolíthatja a csomagot is. A csomag eltávolítása az npm eltávolítás parancsával történik. Az alábbi példa bemutatja az expressz modul eltávolítását
npm uninstall express
Mi az a package.json fájl
A "package.json" fájl egy adott projekt metaadatainak tárolására szolgál . Ez az információ biztosítja a Node csomagkezelő számára a szükséges információkat ahhoz, hogy megértse, hogyan kell kezelni a projektet és annak függőségeit.
A package.json fájlok olyan információkat tartalmaznak, mint a projekt leírása, a projekt verziója egy adott terjesztésben, licencinformációk és konfigurációs adatok.
A package.json fájl általában egy Node.js projekt gyökérkönyvtárában található.
Vegyünk egy példát arra, hogyan néz ki egy modul szerkezete, amikor az npm-en keresztül telepítik.
Az alábbi pillanatkép az expressz modul fájltartalmát mutatja, amikor az benne van a Node.js projektben. A pillanatképből láthatja a package.json fájlt az express mappában.
Ha megnyitja a package.json fájlt, rengeteg információt fog látni a fájlban.
Az alábbiakban a fájl egy részének pillanatképe látható. Az express@~4.13.1 megemlíti a használt express modul verziószámát.
Összegzés
- A Node.js modulja a kód logikai beágyazása egyetlen egységbe. A modulokra bontás a kódot kezelhetőbbé és fenntarthatóbbá teszi a jövőbeni célokra
- Számos olyan modul érhető el a piacon, amelyek a Node.js-en belül használhatók, például expressz, aláhúzás, MongoDB stb.
- A csomópont csomagkezelővel (npm) olyan modulokat tölthet le és telepíthet, amelyek azután a Node.js alkalmazásban használhatók.
- Létrehozhat egyedi NPM modulokat, kibővítheti ezeket a modulokat, és közzé is teheti ezeket a modulokat.
- A Node csomagkezelő teljes parancskészlettel rendelkezik a helyi rendszer npm moduljainak kezelésére, mint például a telepítés, a telepítés visszavonása, a keresés stb.
- A package.json fájlt az npm modul teljes metaadatainak tárolására használják.