Node.js NPM oktatóanyag: Modulok létrehozása, kiterjesztése és közzététele
Node.js modulok
A Node.js modulja a kód logikai beágyazása egyetlen egységbe. Mindig bevált programozási gyakorlat, ha a kódot mindig úgy különítjük el, hogy a jövőbeni célokra jobban kezelhető és karbantartható legyen. Itt lépnek működésbe a Node.js moduljai.
Mivel minden modul önálló entitás, saját beágyazott funkcionalitással, külön munkaegységként kezelhető.
Mi az a modul a Node.js-ben?
Amint azt korábban említettük, a Node js moduljai a kód külön logikai egységbe foglalásának egyik módja. Számos kész modul található a piacon, amelyek a Node js-en belül használhatók.
Az alábbiakban bemutatunk néhány népszerű modult, amelyeket a Node js alkalmazásokban használnak
- Express keretrendszer – Az Express egy minimális és rugalmas Node js webalkalmazás-keretrendszer, amely robusztus szolgáltatáskészletet biztosít a webes és Mozgó alkalmazásokat.
- socket.io – A Socket.IO valós idejű, kétirányú eseményalapú kommunikációt tesz lehetővé. Ez a modul alkalmas chat alapú alkalmazások létrehozására.
- gebe – A Jade egy nagy teljesítményű sablonmotor, és azzal van megvalósítva JavaForgatókönyv csomóponthoz és böngészőkhöz.
- MongoDB - A MongoDB A Node.js illesztőprogram a hivatalosan támogatott node.js illesztőprogram MongoDB.
- Restify – A restify egy könnyű keretrendszer, hasonló az expresszhez a REST API-k építéséhez
- Bluebird – A Bluebird egy teljes értékű ígéret-könyvtár, amely az innovatív funkciókra és a teljesítményre összpontosít
Modulok használata a Node.js-ben
A modulok használatához a node.js alkalmazást, először telepíteni kell őket a Node csomagkezelővel.
Az alábbi parancssor megmutatja, hogyan telepíthető egy „express” modul.
npm install express
- A fenti parancs letölti az „expressz modulokat” tartalmazó szükséges fájlokat, és gondoskodik a telepítésről is
- A modul telepítése után a modul Node.js alkalmazásban való használatához a „require” kulcsszót kell használnia. Ez a kulcsszó egy módja annak, hogy a Node.js beépítse egy modul funkcióit egy alkalmazásba.
Nézzünk egy példát arra, hogyan használhatjuk a „require” kulcsszót. Az alábbi „Guru99” kódpélda bemutatja, hogyan kell használni a request függvényt
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 „require” kulcsszót használjuk az expressz modul felvételéhez. Az „expressz” modul egy optimalizált JavaForgatókönyv könyvtár a Node.js fejlesztéshez. Ez az egyik leggyakrabban használt Node.js modul.
- A modul beépítése után a modulon belüli funkcionalitás használatához létre kell hozni egy objektumot. Itt jön létre az expressz modul objektuma.
- Miután a modult a „require” paranccsal beépítettük, és létrehoztunk egy „objektumot”, az expressz modul szükséges metódusai meghívhatók. Itt a set paranccsal állítjuk be a nézetmotort, amely a Node.js-ben használt sablonozómotor beállítására szolgál.
- Itt a listen to módszert használjuk, hogy az alkalmazást egy adott portszámon figyeljük.
Megjegyzés: -(Csak az olvasó megértése végett; a sablonozómotor egy olyan megközelítés, amellyel értékeket lehet bevinni egy alkalmazásba úgy, hogy adatokat vesz fel az adatfájlokból. Ez a fogalom meglehetősen híres az Angular JS-ben, ahol a kapcsos kapcsos zárójelek ({{ key }}) helyettesítik az értékeket a weboldalon a „kulcs” szó a kapcsos zárójelben alapvetően azt a változót jelöli, amelyet az oldal megjelenítésekor egy érték helyettesít.)
NPM modulok létrehozása
A Node.js képes egyéni modulokat létrehozni, és lehetővé teszi ezeknek az egyéni moduloknak a Node.js alkalmazásába való felvételét.
Nézzünk egy egyszerű példát arra, hogyan hozhatunk létre saját modult, és hogyan foglalhatjuk be a modult a fő alkalmazásfájlunkba. Modulunk egy egyszerű feladatot végez, két szám összeadásával.
Kövesse az alábbi lépéseket, hogy megtudja, hogyan hozhatunk létre modulokat, és hogyan építhetjük be őket az alkalmazásunkba.
Az alábbiakban lépésről lépésre mutatjuk be az NPM-modulok létrehozásának folyamatát
Step 1) Hozzon létre egy fájlt, és illessze be az alábbi kódot
Hozzon létre egy „Addition.js” nevű fájlt, és adja meg 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ül;
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
- Az „exports” kulcsszó annak biztosítására szolgál, hogy az ebben a fájlban meghatározott funkciókat más fájlok is elérjék.
- Ezután definiálunk egy 'AddNumber' nevű függvényt. Ez a függvény úgy van meghatározva, hogy 2 paramétert vegyen fel, a és b. A funkció hozzáadódik az „exportálás” modulhoz, hogy a funkció nyilvános funkcióvá váljon, amelyhez más alkalmazásmodulok is hozzáférhetnek.
- Végre elérjük, hogy a függvényünk a paraméterek hozzáadott értékét adja vissza.
Most, hogy létrehoztuk egyéni modulunkat, amely 2 szám hozzáadásának funkciójával rendelkezik. Itt az ideje egy alkalmazás létrehozásának, amely meghívja ezt a modult.
A következő lépésben látni fogjuk, hogyan kell létrehozni az alkalmazást, amely meghívja az egyéni modulunkat.
Step 2) Hozzon létre egy alkalmazásfájlt
Hozzon létre egy „app.js” nevű fájlt, amely a fő alkalmazásfájlja, és adja hozzá az alábbi kódot
var Addition=require('./Addition.js'); console.log(Addition.AddNumber(1,2));
- A „require” kulcsszót használjuk a funkciónak az Addition.js fájlba való felvételéhez.
- Mivel az Addition.js fájlban lévő függvények már elérhetőek, mostantól hívhatjuk az AddNumber függvényt. A függvényben 2 számot adunk át paraméterként. Ezután megjelenítjük az értéket a konzolon.
teljesítmény:
- Az app.js fájl futtatásakor 3-as értékű kimenet jelenik meg a konzolnaplóban.
- Ennek az az oka, hogy az AddNumber függvény meghívása az Addition.js fájlban sikeresen megtörtént, és a visszaadott 3-as érték megjelent a konzolon.
Jegyzet: – Egyelőre nem használjuk a „Node csomagkezelőt” az Addition.js modul telepítéséhez. Ennek az az oka, hogy a modul már része a projektünknek a helyi gépen. A Node csomagkezelő akkor jön képbe, amikor közzétesz egy modult az interneten, amit a következő témakörben láthatunk.
Modulok bővítése a Node.js-ben
Modulok létrehozásakor lehetőség van egy modul kiterjesztésére vagy öröklésére is.
A mai programozásban meglehetősen gyakori, hogy közös modulokból könyvtárat építenek, majd szükség esetén bővítik ezeknek a közös moduloknak a funkcionalitását.
Nézzünk egy példát arra, hogyan bővíthetjük ki a modulokat a Node.js-ben.
Step 1) Hozza létre az alapmodult.
Példánkban hozzon létre egy „Tutorial.js” nevű fájlt, és helyezze el az alábbi kódot.
Ebben a kódban éppen egy függvényt hozunk létre, amely egy karakterláncot ad vissza a konzolnak. A visszaadott karakterlánc a „Guru99 Tutorial”.
var exports=module.exports={}; exports.tutorial=function() { console.log("Guru99 Tutorial") }
- Az exportálási modul arra szolgál, hogy az ebben a fájlban definiált függvény elérhető legyen a Node.js többi moduljában
- Létrehozunk egy tutorial nevű függvényt, amely más Node.js modulokban is használható.
- A függvény meghívásakor egy „Guru99 Tutorial” karakterláncot jelenítünk meg a konzolon.
Most, hogy létrehoztuk a Tutorial.js nevű alapmodulunkat. Itt az ideje egy másik modul létrehozásának, amely kiterjeszti ezt az alapmodult.
A következő lépésben megvizsgáljuk, hogyan kell ezt megtenni.
Step 2) Ezután létrehozzuk a kiterjesztett modulunkat. Hozzon létre egy új fájlt „NodeTutorial.js” néven, és helyezze el az alábbi kódot a fájlba.
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(); } }
Ne feledje, a következő kulcsfontosságú pontok a fenti kóddal kapcsolatban
- Magában az új modulfájlban a „require” függvényt használjuk. Mivel a meglévő „Tutorial.js” modulfájlt ki fogjuk bővíteni, a kiterjesztése előtt először bele kell foglalnunk.
- Ezután létrehozunk egy „Nodetutorial” nevű függvényt. Ez a funkció 2 dolgot hajt végre,
- Ez elküldi a „Node Tutorial” karakterláncot a konzolnak.
- Elküldi a „Guru99 Tutorial” karakterláncot a „Tutorial.js” alapmodulból a „NodeTutorial.js” bővített modulunkba.
- Itt végezzük el az első lépést, hogy elküldjük a „Node Tutorial”-hoz egy karakterláncot a konzolra.
- A következő lépés a függvény meghívása a Tutorial modulunkból, amely a „Guru99 Tutorial” karakterláncot adja ki a console.log fájlba.
Step 3) Hozza létre a fő app.js fájlt, amely a fő alkalmazásfájlja, és adja meg az alábbi kódot.
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
A fenti kód a következő dolgokat hajtja végre;
- Fő alkalmazásfájlunk mostantól a „NodeTutorial” modult hívja.
- A „NodeTutorial” függvényt hívjuk. A funkció meghívásával a „Node Tutorial” szöveg jelenik meg a konzolnaplóban.
- Mióta kibővítettük a Tutorial.js modulunkat, és megjelentettük a pTutor nevű függvényt. Meghívja a Tutorial.js modul oktató modulját is, és a „Guru99 oktatóanyag” szöveg is megjelenik a konzolon.
output:
Mivel a fenti app.js kódot a Node segítségével futtattuk, a következő kimenetet kapjuk a console.log fájlban
- Node oktatóanyag
- Guru99 bemutatója
NPM (Node Package Manager) Csomag közzététele
Az ember közzéteheti saját modulját a sajátjában Github tárolóból.
Ha közzéteszi a modult egy központi helyen, akkor nem kell az összes olyan gépen telepítenie, amelyik ezt igényli.
Ehelyett használhatja az npm telepítési parancsát, és telepítheti a közzétett npm modult.
Az npm modul közzétételéhez a következő lépéseket kell követni
Step 1) Hozd létre a táradat a GitHubon (egy online kódtárkezelő eszköz). Használható a kódtárak tárolására.
2 lépés) Közölnie kell a helyi npm-telepítéssel, hogy kicsoda. Ez azt jelenti, hogy meg kell mondanunk az npm-nek, hogy ki a szerzője ennek a modulnak, mi az e-mail azonosítója és az elérhető cég URL-je, amelyet ehhez az azonosítóhoz kell társítani. Mindezek az adatok a közzétételkor hozzáadódnak az npm modulhoz.
Az alábbi parancsok beállítják az npm modul szerzőjének nevét, e-mail címét és URL-címét.
npm állítsa be az init-author-name „Guru99”-et.
npm beállítása init-author-e-mail „guru99@gmail.com”
npm beállítva az init-author-url „http://Guru99.com”
Step 3) A következő lépés az npm bejelentkezés az utolsó lépésben megadott hitelesítő adatokkal. A bejelentkezéshez az alábbi parancsot kell használnia
npm login
Step 4) 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 teheti meg
npm init
Amikor kiadja a fenti parancsot, a rendszer felkér néhány kérdésre. A legfontosabb a modul verziószáma.
Step 5) Közzététel a GitHubon – A következő lépés a forrásfájlok közzététele a GitHubon. Ezt az alábbi parancsok futtatásával teheti meg.
git add. git commit -m "Initial release" git tag v0.0.1 git push origin master --tags
Step 6) Modul közzététele – Az utolsó lépés 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 segítségével
Amint láttuk, a „Node csomagkezelő” képes modulokat kezelni, amelyekre a Node.js alkalmazásoknak szüksége van.
Nézzünk meg néhány funkciót, amelyek a csomóponti csomagkezelőben elérhetők a modulok kezelésére
- Csomagok telepítése globális módban – A modulok globális szinten telepíthetők, ami lényegében azt jelenti, hogy ezek a modulok minden Node.js projekthez elérhetőek lennének egy helyi gépen. Az alábbi példa bemutatja, hogyan kell telepíteni az „expressz modult” a globális opcióval.npm install express –global A fenti utasításban szereplő globális opció az, ami lehetővé teszi a modulok globális szintű telepítését.
- A helyi gépre telepített összes globális csomag listája. Ezt az alábbi parancs végrehajtásával teheti meg a parancssorbannpm lista – globálisAz alábbiakban látható a kimenet, amely akkor jelenik meg, ha korábban telepítette az „expressz modult” a rendszerére. Itt láthatja a helyi gépre telepített különböző modulokat.
- Egy csomag adott verziójának telepítése – Néha előfordulhat, hogy csak a csomag adott verzióját kell telepíteni. Ha ismeri a csomag nevét és a megfelelő verziót, amelyet telepíteni kell, az npm install paranccsal telepítheti az adott verziót. Az alábbi példa bemutatja, hogyan kell telepíteni az aláhúzás nevű modult az 1.7.0npm telepítés adott verziójával. aláhúzás@1.7.0
- Csomagverzió frissítése – Néha előfordulhat, hogy egy csomag régebbi verziója van a rendszerben, és érdemes frissíteni a piacon elérhető legújabb verzióra. 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óranpm frissítés aláhúzás
- Egy adott csomag keresése – Ha meg szeretné keresni, hogy egy adott verzió elérhető-e a helyi rendszeren vagy sem, használja az npm keresési parancsát. Az alábbi példa ellenőrzi, hogy az expressz modul telepítve van-e a helyi gépen vagy sem.npm expressz keresés
- Csomag eltávolítása – Ugyanaz, amelyben telepíthet egy csomagot, egy csomagot is eltávolíthat. A csomag eltávolítása az npm uninstallation parancsával történik. Az alábbi példa bemutatja az expressz modul eltávolításátnpm uninstall express
Mi az a package.json fájl?
A „package.json” fájl tárolja a metaadatok egy adott projektről. Ez az információ biztosítja a csomóponti csomagkezelő számára a szükséges információkat ahhoz, hogy megértse, hogyan kell kezelni a projektet a függőségeivel együtt.
A package.json fájlok olyan információkat tartalmaznak, mint a projekt leírása, a projekt verziója egy adott disztribúcióban, licencinformációk és konfigurációs adatok.
A package.json fájl általában a Node.js projekt gyökérkönyvtárában található.
Vegyünk egy példát arra, hogyan néz ki egy modul felépítése, ha npm-en keresztül telepítik.
Az alábbi pillanatkép az expressz modul fájltartalmát mutatja, ha az szerepel a Node.js projektben. A pillanatképen láthatja a package.json fájlt az expressz mappában.
Ha megnyitja a package.json fájlt, sok információt fog látni a fájlban.
Az alábbiakban a fájl egy részének pillanatképe látható. A express@~4.13.1 megemlíti a használt expressz modul verziószámát.
Összegzésként
- A Node.js modulja a kód logikai beágyazása egyetlen egységbe. A modulokra való szétválasztás a kódot kezelhetőbbé és karbantarthatóbbá teszi a jövőbeni célokra
- A Node.js-ben számos modul elérhető a piacon, például expressz, aláhúzás, MongoDBStb
- A csomóponti csomagkezelő (npm) a modulok letöltésére és telepítésére szolgál, amelyek ezután használhatók egy Node.js alkalmazásban.
- Egyéni NPM-modulokat lehet létrehozni, bővíteni és közzétenni.
- A Node csomagkezelő a parancsok teljes készletével rendelkezik a helyi rendszer npm-moduljainak kezelésére, például a telepítésre, a telepítés visszavonására, a keresésre stb.
- A package.json fájl az npm-modul teljes metaadat-információjának tárolására szolgál.