HTTP-veebiserveri loomine rakenduses Node.js: õpetus koodinäite abil

Node.js raamistikku kasutatakse enamasti serveripõhiste rakenduste loomiseks. Seda raamistikku saab hõlpsasti kasutada veebiserverite loomiseks, mis võivad kasutajatele sisu pakkuda.

Seal on mitmesuguseid mooduleid, nagu "http" ja "päringu" moodul, mis aitab töödelda serveriga seotud päringuid veebiserveri ruumis. Vaatame, kuidas saame luua põhilise veebiserveri rakenduse Sõlme js.

Sõlm HTTP-d kasutava veebiserverina

Vaatame näidet, kuidas luua ja käitada meie esimene Node js rakendus.

Meie rakendus loob lihtsa serverimooduli, mis kuulab porti nr 7000. Kui brauseri kaudu tehakse päring sellele pordile nr, saadab serverirakendus kliendile vastuse "Tere maailm".

Sõlm kui veebiserver, mis kasutab HTTP-d

Koodi selgitus

  1. Nõutava funktsiooni põhifunktsioon on see, et see loeb a JavaScript faili, käivitab faili ja seejärel jätkab ekspordiobjekti tagastamisega. Nii et meie puhul, kuna soovime kasutada http-mooduli funktsioone, kasutame funktsiooni Nõua, et saada http-moodulist soovitud funktsioonid, et seda saaks meie rakenduses kasutada.
  2. Selles koodireas loome serverirakenduse, mis põhineb lihtsal funktsioonil. Seda funktsiooni kutsutakse alati, kui meie serverirakendusele esitatakse päring.
  3. Kui päring on vastu võetud, palume saata vastus päisetüübiga „200”. See number on tavaline vastus, mis saadetakse http-päises, kui kliendile saadetakse edukas vastus.
  4. Vastuses saadame stringi "Tere maailm".
  5. Seejärel kasutame funktsiooni server.listen, et panna meie serverirakendus kuulama kliendi päringuid pordis nr 7000. Siin saate määrata mis tahes saadaoleva pordi.

Kui käsk on edukalt täidetud, kuvatakse brauseris koodi käivitamisel järgmine väljund.

Väljund

Sõlm kui veebiserver, mis kasutab HTTP-d

Väljundist,

  • Näete selgelt, et kui sirvime pordis 7000 oleva localhosti URL-i, näete lehel stringi "Tere maailm".
  • Kuna meie koodis oleme maininud spetsiaalselt serveri kuulamist pordi nr 7000 kaudu, saame selle URL-i sirvimisel vaadata väljundit.

Siin on kood teie viitamiseks

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-i taotluste käsitlemine Node.js-s

GET-päringu tegemine andmete hankimiseks teiselt saidilt on Node.js-is suhteliselt väga lihtne. Hangi päringu tegemiseks sõlmes peame esmalt installima päringumooduli. Seda saab teha käsureal järgmise rea käivitamisega

npm installitaotlus

Ülaltoodud käsk palub Node'i paketihalduril vajalikud päringumoodulid alla laadida ja need vastavalt installida.

Kui teie npm-moodul on edukalt installitud, kuvatakse käsureal installitud mooduli nimi ja versioon: @ .

GET-i taotluste käsitlemine

Ülaltoodud pildil on näha, et taotlusmoodul koos versiooninumbriga 2.67.0 laaditi alla ja installiti.

Nüüd vaatame koodi, mis saab seda "päringu" käsku kasutada.

GET-i taotluste käsitlemine

Koodi selgitus

  1. Kasutame taotluse moodulit, mis installiti viimases etapis. Sellel moodulil on vajalikud funktsioonid, mida saab kasutada veebisaitidele GET päringute tegemiseks.
  2. Teeme aadressile www.google.com GET-päringu ja kutsume vastuse saabumisel funktsiooni. Kui vastus saadakse, on parameetritel (viga, vastus ja keha) järgmised väärtused
    1. Viga – kui GET-päringu kasutamisel ilmneb viga, salvestatakse see siin.
    2. Vastus – vastusel on http-päised, mis saadetakse vastuses tagasi.
    3. Keha – sisu sisaldab kogu Google'i saadetud vastuse sisu.
  3. Selles kirjutame lihtsalt kehaparameetris saadud sisu faili console.log. Põhimõtteliselt, mida iganes me minnes saame www.google.com kirjutatakse faili console.log.

Siin on kood teie viitamiseks

var request = require("request");
	request("http://www.google.com",function(error,response,body)
	{
		console.log(body);
	});

kokkuvõte

  • Node.js raamistikku saab kasutada veebiserverite arendamiseks, kasutades moodulit "http". Rakenduse saab panna kuulama konkreetset porti ja saatma kliendile vastuse alati, kui rakendusele tehakse päring.
  • Taotluse moodulit saab kasutada veebisaitidelt teabe hankimiseks. Teave sisaldaks kogu asjaomaselt veebisaidilt taotletud veebilehe sisu.

Võta see postitus kokku järgmiselt: