HTTP-veebiserveri loomine Node.js-s: täielik õpetus

Lang L: none (table-of-contents):

Anonim

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

Seal on mitmesuguseid mooduleid, näiteks moodul "http" ja "request", mis aitab serveriga seotud päringuid veebiserveri ruumis töödelda. Vaatame, kuidas Node js abil veebi põhiserverirakendust luua.

Sõlm veebiserverina, mis kasutab HTTP-d

Vaatame näite, kuidas oma esimest Node js rakendust luua ja käitada.

Meie rakendus loob lihtsa serverimooduli, mis kuulab sadamas nr 7000. Kui taotlus esitatakse selle pordi nr brauseri kaudu, saadab serverirakendus kliendile vastuse „Tere maailm”.

Koodi selgitus:

  1. Funktsiooni nõuda põhifunktsioon on see, et see loeb JavaScripti faili, käivitab faili ja jätkab seejärel ekspordiobjekti tagastamist. Nii et meie puhul, kuna me tahame kasutada http-mooduli funktsionaalsust, kasutame funktsiooni nõuda, et saada soovitud funktsioonid http-moodulist, et seda saaks meie rakenduses kasutada.
  2. Selles koodireas loome serverirakenduse, mis põhineb lihtsal funktsioonil. Seda funktsiooni kutsutakse alati, kui meie serverirakendusele esitatakse taotlus.
  3. Taotluse saabumisel ütleme, et saadame vastuse päise tüübiga "200". See number on tavaline vastus, mis saadetakse http-päises, kui kliendile saadetakse edukas vastus.
  4. Vastuses ise saadame stringi "Tere maailm".
  5. Seejärel kasutame funktsiooni server.listen, et panna meie serverirakendus kuulama klienditaotlusi sadamas nr 7000. Siit saate määrata mis tahes saadaoleva pordi.

Kui käsk käivitatakse edukalt, kuvatakse brauseris koodi käivitamisel järgmine väljund.

Väljund:

Väljundi põhjal

  • Näete selgelt, et kui sirvime porti 7000 localhosti URL-i, näete lehel stringi "Tere maailm".
  • Kuna me oleme oma koodis maininud spetsiaalselt selleks, et server kuulaks porti nr 7000, on meil selle URL-i sirvimisel võimalik väljundit vaadata.

Siin on teie viite kood

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-päringute käitlemine Node.js-is

GET-päringu tegemine andmete saamiseks teiselt saidilt on Node.js-is suhteliselt lihtne. Sõlmes Get-päringu tegemiseks peame kõigepealt installima päringumooduli. Seda saab teha käsureal järgmise rea käivitamisega

npm installitaotlus

Ülaltoodud käsk nõuab Node'i paketihaldurilt nõutavate päringumoodulite allalaadimist ja nende vastavalt installimist.

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

Ülaltoodud hetkepildist näete, et moodul 'request' koos versiooninumbriga 2.67.0 on alla laaditud ja installitud.

Vaatame nüüd koodi, mida saab kasutada seda käsku 'request'.

Koodi selgitus:

  1. Kasutame moodulit 'request', mis installiti viimases etapis. Sellel moodulil on vajalikud funktsioonid, mida saab kasutada veebisaitidele GET-päringute tegemiseks.
  2. Esitame GET-päringu aadressile www.google.com ja seejärel helistame vastuse saabudes funktsioonile. Vastuse saamisel on parameetritel (viga, vastus ja keha) järgmised väärtused
    1. Viga - kui GET-päringu kasutamisel on tekkinud mõni viga, salvestatakse see siia.
    2. Vastus - vastusel on http-päised, mis vastuses tagasi saadetakse.
    3. Keha - keha sisaldab kogu Google'i saadetud vastuse sisu.
  3. Selles kirjutame lihtsalt keha parameetris vastuvõetud sisu faili console.log. Nii et põhimõtteliselt kirjutatakse kõik, mis meil aadressil www.google.com on, konsooli.log.

Siin on teie viite kood

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

Kokkuvõte

  • Raamistikku Node.js saab kasutada veebiserverite arendamiseks, kasutades moodulit 'http'. Rakendust saab panna kuulama konkreetses sadamas ja saatma kliendile vastuse alati, kui rakendusele esitatakse taotlus.
  • Moodulit „päring” saab kasutada veebisaitidelt teabe hankimiseks. See teave sisaldaks kogu asjakohaselt veebisaidilt nõutava veebisaidi sisu.