Hozzon létre HTTP-webkiszolgálót a Node.js-ben: oktatóanyag kódpéldával
A Node.js keretrendszert többnyire szerver alapú alkalmazások létrehozására használják. A keretrendszer könnyen használható webszerverek létrehozására, amelyek tartalmat szolgálnak ki a felhasználók számára.
Számos modul létezik, mint például a „http” és „request” modul, amely segít feldolgozni a szerverrel kapcsolatos kéréseket a webszerver térben. Megnézzük, hogyan hozhatunk létre alapvető webszerver-alkalmazást Node js.
Csomópont webszerverként HTTP használatával
Nézzünk egy példát az első Node js alkalmazás létrehozására és futtatására.
Alkalmazásunk egy egyszerű szerver modult fog létrehozni, amely a 7000-es porton figyel. Ha a böngészőn keresztül erre a portra érkezik kérés, akkor a szerveralkalmazás 'Hello World' választ küld a kliensnek.
Kód Magyarázat
- A követelmény függvény alapvető funkciója, hogy beolvassa a JavaForgatókönyv fájlt, végrehajtja a fájlt, majd visszatér az export objektumhoz. A mi esetünkben tehát, mivel a http modul funkcionalitását szeretnénk használni, a request függvényt használjuk arra, hogy a kívánt függvényeket megkapjuk a http modulból, hogy az alkalmazásunkban használható legyen.
- Ebben a kódsorban egy egyszerű függvényen alapuló szerveralkalmazást hozunk létre. Ez a függvény mindig meghívásra kerül, amikor kérés érkezik a szerveralkalmazásunkhoz.
- Amikor egy kérés érkezik, azt mondjuk, hogy küldjön egy választ „200” fejléctípussal. Ez a szám a normál válasz, amely egy http fejlécben kerül elküldésre, amikor sikeres választ küldenek az ügyfélnek.
- Magában a válaszban a „Hello World” szöveget küldjük.
- Ezután a server.listen funkciót használjuk arra, hogy a szerveralkalmazásunk figyeljen a kliens kérésekre a 7000-es porton. Itt megadhat bármilyen elérhető portot.
Ha a parancsot sikeresen végrehajtották, a következő kimenet jelenik meg, amikor futtatja a kódot a böngészőben.
teljesítmény
A kimenetből,
- Jól láthatja, hogy ha a 7000-es porton lévő localhost URL-jére böngészünk, a 'Hello World' karakterlánc jelenik meg az oldalon.
- Mivel a kódunkban kifejezetten azt említettük, hogy a szerver a 7000-es porton figyeljen, meg tudjuk tekinteni a kimenetet, amikor erre az URL-re böngészünk.
Íme a kód a referenciaként
var http=require('http') var server=http.createServer((function(request,response) { response.writeHead(200, {"Content-Type" : "text/plain"}); response.end("Hello World\n"); })); server.listen(7000);
GET-kérések kezelése a Node.js-ben
A Node.js-ben viszonylag nagyon egyszerű a GET-kérés elkészítése az adatok másik webhelyről való lekérésére. Ahhoz, hogy a csomópontban lekérést kapjunk, először telepítenünk kell a kérés modult. Ezt a parancssorban a következő sor végrehajtásával teheti meg
npm telepítési kérés
A fenti parancs arra kéri a Node csomagkezelőt, hogy töltse le a szükséges kérelmező modulokat és telepítse azokat.
Az npm modul sikeres telepítése után a parancssorban megjelenik a telepített modul neve és verziója: @ .
A fenti pillanatképen láthatja, hogy a „request” modul a 2.67.0 verziószámmal együtt letöltve és telepítve lett.
Most lássuk azt a kódot, amely képes használni ezt a „request” parancsot.
Kód Magyarázat
- Az utolsó lépésben telepített „kérés” modult használjuk. Ez a modul rendelkezik a szükséges funkciókkal, amelyek segítségével GET kéréseket lehet küldeni webhelyekre.
- GET kérést küldünk a www.google.com címre, majd válasz beérkezésekor meghívunk egy függvényt. Amikor válasz érkezik, a paraméterek (hiba, válasz és törzs) a következő értékekkel rendelkeznek
- Hiba – Ha a GET kérés használata során hiba történik, azt itt rögzítjük.
- Válasz – A válasz http fejléceket tartalmaz, amelyeket visszaküld a válaszban.
- Törzs – A törzs tartalmazza a Google által küldött válasz teljes tartalmát.
- Ebben csak a body paraméterben kapott tartalmat írjuk a console.log fájlba. Tehát alapvetően bármit is kapunk, ha megyünk www.google.com a konzolba lesz írva.log.
Íme a kód a referenciaként
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
Összegzésként
- A Node.js keretrendszer webszerverek fejlesztésére használható a „http” modul használatával. Az alkalmazás beállítható, hogy figyeljen egy adott portra, és választ küldjön az ügyfélnek, amikor az alkalmazáshoz kérés érkezik.
- A „kérés” modul segítségével információkat szerezhet a webhelyekről. Az információ az érintett webhelyről kért weboldal teljes tartalmát tartalmazza.