Ebben az oktatóanyagban megvizsgáljuk az Express keretrendszert. Ez a keretrendszer úgy van felépítve, hogy minimális és rugalmas Node.js webalkalmazás-keretrendszerként működik, robusztus funkciókat kínálva az egy- és többoldalas, valamint a hibrid webalkalmazások felépítéséhez.
Ebben az oktatóanyagban megtanulja-
- Mi az Express.js?
- Az Express telepítése és használata
- Mik az útvonalak?
- Minta webkiszolgáló az express.js használatával
Mi az Express.js?
Az Express.js egy Node js webalkalmazás-kiszolgáló keretrendszer, amelyet kifejezetten egyoldalas, többoldalas és hibrid webalkalmazások építésére terveztek.
A node.js szabványos szerverkeretévé vált. Az Express a MEAN-verem néven ismert háttérprogram része.
A MEAN egy ingyenes és nyílt forráskódú JavaScript szoftver verem dinamikus weboldalak és webalkalmazások készítéséhez, amely a következő összetevőket tartalmazza:
1) MongoDB - A szokásos NoSQL adatbázis
2) Express.js - Az alapértelmezett webalkalmazás-keret
3) Angular.js - A webes alkalmazásokhoz használt JavaScript MVC keretrendszer
4) Node.js - skálázható szerveroldali és hálózati alkalmazásokhoz használt keretrendszer.
Az Express.js keretrendszer nagyon megkönnyíti egy olyan alkalmazás kifejlesztését, amely felhasználható többféle kérés kezelésére, mint például a GET, PUT, valamint a POST és DELETE kérések.
Az Express telepítése és használata
Az Express telepítése a Node Package Manager segítségével történik. Ezt úgy teheti meg, hogy a következő sort futtatja a parancssorban
npm install express
A fenti parancs arra kéri a Node csomagkezelőt, hogy töltse le a szükséges express modult és ennek megfelelően telepítse őket.
Használjuk az újonnan telepített Express keretrendszerünket, és hozzunk létre egy egyszerű "Hello World" alkalmazást.
Alkalmazásunk egy egyszerű szerver modult fog létrehozni, amely meghallgatja a 3000-es portot. Példánkban, ha a böngészőn keresztül kérést küldünk ezen a portszámon, akkor a kiszolgálóalkalmazás 'Hello' World 'választ küld az ügyfélnek .
var express=require('express');var app=express();app.get('/',function(req,res){res.send('Hello World!');});var server=app.listen(3000,function() {});
Kód Magyarázat:
- Az első kódsorunkban a szükséges funkciót használjuk az "express modul" beépítésére.
- Mielőtt elkezdenénk használni az express modult, készítenünk kell róla egy objektumot.
- Itt létrehozunk egy visszahívási funkciót. Ezt a függvényt akkor hívjuk meg, amikor bárki böngészi a webalkalmazásunk gyökerét, amely a http: // localhost: 3000 . A visszahívási funkció segítségével a „Hello World” karakterláncot el lehet küldeni a weboldalra.
- A visszahívási funkcióban a "Hello World" karakterláncot visszaküldjük az ügyfélnek. A 'res' paraméter segítségével visszaküldhető a tartalom a weboldalra. Ezt a 'res' paramétert olyasmi adja, amelyet a 'request' modul biztosít, hogy az egyik tartalmat visszaküldhessen a weboldalra.
- Ezután a meghallgatás funkciót használjuk arra, hogy a kiszolgálóalkalmazásunk meghallgassa az ügyfél kéréseit a 3000-es számú porton. Itt megadhat bármilyen elérhető portot.
A parancs sikeres végrehajtása esetén a következő kimenet jelenik meg, amikor a böngészőben futtatja a kódot.
Kimenet:
A kimenetből
- Jól látható, hogy ha a localhost URL-jére böngészünk a 3000-es porton, akkor a „Hello World” karakterlánc jelenik meg az oldalon.
- Mivel kódunkban kifejezetten említettük, hogy a szerver meghallgassa a 3000-es portot, képesek vagyunk megtekinteni a kimenetet, amikor erre az URL-re böngészünk.
Mik az útvonalak?
Az útválasztás meghatározza, hogy az alkalmazás hogyan reagál az ügyfél kérésére egy adott végpontra.
Például az ügyfél GET, POST, PUT vagy DELETE http kérést küldhet különféle URL-ekhez, például az alábbiakhoz;
http://localhost:3000/Bookshttp://localhost:3000/Students
A fenti példában
- Ha az első URL-re GET-kérelmet nyújtanak be, akkor a válasz ideális esetben a könyvek listája legyen.
- Ha a GET kérést a második URL-re küldjük, akkor a válasz ideális esetben a hallgatók listája legyen.
- Tehát a hozzáférett URL alapján a webszerver egy másik funkciójára hivatkozik, és ennek megfelelően a választ elküldi az ügyfélnek. Ez az útválasztás fogalma.
Minden útvonalnak lehet egy vagy több kezelő funkciója, amelyek az útvonal egyeztetésekor kerülnek végrehajtásra.
Az útvonal általános szintaxisa az alábbiakban látható
app.METHOD(PATH, HANDLER)
Ahol,
1) az alkalmazás az expressz modul példánya
2) A METHOD egy HTTP kérési módszer (GET, POST, PUT vagy DELETE)
3) A PATH egy elérési út a szerveren.
4) A HANDLER az útvonal egyeztetésekor végrehajtott funkció.
Nézzünk meg egy példát arra, hogyan valósíthatjuk meg az útvonalakat az expresszben. Példánk 3 útvonalat hoz létre
- A / Node útvonal, amely megjeleníti a "Tutorial on Node" karakterláncot, ha ehhez az útvonalhoz hozzáfér
- A / Szögletes útvonal, amely megjeleníti a "Tutorial on Angular" karakterláncot, ha ehhez az útvonalhoz hozzáfér
- Alapértelmezett útvonal / amely megjeleníti a "Welcome to Guru99 Tutorials" karakterláncot.
Alapkódunk ugyanaz marad, mint a korábbi példák. Az alábbi részlet egy kiegészítő, amely bemutatja az útválasztás megvalósítását.
var express = require('express');var app = express();app.route('/Node').get(function(req,res){res.send("Tutorial on Node");});app.route('/Angular').get(function(req,res){res.send("Tutorial on Angular");});app.get('/',function(req,res){res.send('Welcome to Guru99 Tutorials');}));
Kód Magyarázat:
- Itt definiálunk egy útvonalat, ha a http: // localhost: 3000 / Node URL van kiválasztva a böngészőben. Az útvonalhoz visszahívási funkciót csatolunk, amelyet akkor hívunk meg, amikor a Node URL-re böngészünk.
A funkciónak 2 paramétere van.
- A fő paraméter, amelyet használni fogunk, a 'res' paraméter, amellyel információkat visszaküldhetünk az ügyfélnek.
- A 'req' paraméter információval szolgál az elküldött kérelemről. Néha további paramétereket is el lehet küldeni a kérés részeként, ezért a 'req' paraméter felhasználható a küldendő további paraméterek megtalálásához.
- A send funkció segítségével visszaküldjük a "Tutorial on Node" karakterláncot az ügyfélnek, ha a Node útvonalat választjuk.
- Itt határozunk meg egy útvonalat, ha a http: // localhost: 3000 / Angular URL van kiválasztva a böngészőben. Az útvonalhoz visszahívási funkciót csatolunk, amelyet akkor hívunk meg, amikor az Angular URL-re böngészünk.
- A küldési funkció segítségével visszaküldjük a "Tutorial on Angular" karakterláncot az ügyfélnek, ha a Angular útvonalat választjuk.
- Ez az alapértelmezett útvonal, amelyet akkor választunk, amikor az ember az alkalmazás útvonalához tallóz - http: // localhost: 3000 . Az alapértelmezett útvonal kiválasztásakor a "Welcome to Guru99 Tutorials" üzenetet küldjük az ügyfélnek.
A parancs sikeres végrehajtása esetén a következő kimenet jelenik meg, amikor a böngészőben futtatja a kódot.
Kimenet:
A kimenetből
- Jól látható, hogy ha a localhost URL-jére tallózunk a 3000-es porton, akkor az oldalon megjelenik a „Welcome to Guru99 Tutorials” karakterlánc.
- Mivel kódunkban megemlítettük, hogy az alapértelmezett URL-nk jeleníti meg ezt az üzenetet.
A kimenetből
- Láthatja, hogy ha az URL-t / Node-ra változtatta, akkor a megfelelő Node útvonalat választották, és megjelenik a "Tutorial On Node" karakterlánc.
A kimenetből
- Láthatja, hogy ha az URL-t / Angular-ra változtatta, akkor a megfelelő Node útvonalat választották, és megjelenik a "Tutorial On Angular" karakterlánc.
Minta webkiszolgáló az express.js használatával
A fenti példánkból láthattuk, hogyan tudjuk eldönteni, hogy milyen kimenetet jelenítsünk meg az útválasztás alapján. Ezt a fajta útválasztást használják a legtöbb modern webes alkalmazásban. A webkiszolgáló másik része a sablonok használatáról szól a Node js-ben.
Gyors on-the-fly Node alkalmazások létrehozásakor egyszerű és gyors módszer sablonok használata az alkalmazáshoz. A piacon számos keretrendszer áll rendelkezésre a sablonok készítéséhez. Esetünkben a jade keretrendszer példáját vesszük a sablonokhoz.
A Jade telepítése a Node Package manager segítségével történik. Ezt úgy teheti meg, hogy a következő sort futtatja a parancssorban
npm jade telepítése
A fenti parancs arra kéri a Node csomagkezelőt, hogy töltse le a szükséges jade modulokat, és ennek megfelelően telepítse őket.
MEGJEGYZÉS: A Node legújabb verziójában a jade elavult. Ehelyett használjon mopszot.
Használjuk az újonnan telepített jade keretrendszerünket, és hozzunk létre néhány alapvető sablont.
1. lépés: Az első lépés egy jade sablon létrehozása. Hozzon létre egy index.jade nevű fájlt, és illessze be az alábbi kódot. Ügyeljen arra, hogy a fájlt a "nézetek" mappában hozza létre
- Itt megadjuk, hogy az oldal címe bármilyen értékre változzon, amikor ez a sablon meghívásra kerül.
- Meghatározzuk azt is, hogy a fejléc címkéjében szereplő szöveg kicserélődik a jade sablonban megadott értékre.
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){res.render('index',{title:'Guru99',message:'Welcome'})});var server=app.listen(3000,function() {});
Kód Magyarázat:
- Az alkalmazásban először meg kell adni a "nézetmotort", amelyet a sablonok megjelenítésére használnak. Mivel jade-t fogunk használni a sablonjaink megjelenítéséhez, ezt ennek megfelelően adjuk meg.
- A render funkció egy weboldal megjelenítésére szolgál. Példánkban a korábban létrehozott sablont (index.jade) rendereljük.
- A "Guru99" és az "Welcome" értékeit átadjuk a "title" és az "message" paramétereknek. Ezeket az értékeket az index.jade sablonban deklarált „title” és „message” paraméterek helyettesítik.
A parancs sikeres végrehajtása esetén a következő kimenet jelenik meg, amikor a böngészőben futtatja a kódot.
Kimenet:
A kimenetből
- Láthatjuk, hogy az oldal címe "Guru99" -re, az oldal fejléce pedig "Welcome" -ra áll.
- Ez annak a jade sablonnak köszönhető, amelyet a js csomópont alkalmazásunkban meghívunk.
Összegzés
- Az expressz keretrendszer a Node js alkalmazások fejlesztésének leggyakoribb kerete. Az expressz keretrendszer a node.js keretrendszer tetejére épül, és segít a kiszolgálóalapú alkalmazások gyors nyomon követésében.
- Az útvonalakat arra használják, hogy a felhasználókat a webalkalmazások különböző részeire irányítsák a megtett kérés alapján. Az egyes útvonalak válasza változhat attól függően, hogy mit kell megmutatni a felhasználónak.
- A sablonokkal hatékonyan lehet tartalmat injektálni. A Jade az egyik legnépszerűbb sablonmotor, amelyet a Node.js alkalmazásokban használnak.