„Node.js“ sistema dažniausiai naudojama serverio programoms kurti. Ši sistema gali būti lengvai naudojama kuriant žiniatinklio serverius, kurie gali teikti turinį vartotojams.
Yra įvairių modulių, tokių kaip „http“ ir „užklausa“ moduliai, kurie padeda apdoroti su serveriu susijusias užklausas žiniatinklio serverio erdvėje. Mes pažvelgsime, kaip mes galime sukurti pagrindinę žiniatinklio serverio programą naudodami „Node js“.
Mazgas kaip žiniatinklio serveris, naudojant HTTP
Pažvelkime į pavyzdį, kaip sukurti ir paleisti pirmąją „Node js“ programą.
Mūsų programa ketina sukurti paprastą serverio modulį, kuris klausys prievado Nr. 7000. Jei užklausa pateikiama per naršyklę šiame prievado Nr., Tada serverio programa klientui atsiųs „Hello World“ atsakymą.
Kodo paaiškinimas:
- Pagrindinė funkcijos reikalauti funkcija yra ta, kad ji skaito „JavaScript“ failą, vykdo failą ir tada grąžina eksportuojamą objektą. Taigi, mūsų atveju, kadangi mes norime naudoti http modulio funkcionalumą, mes naudojame reikalauti funkciją norimoms funkcijoms gauti iš http modulio, kad ją būtų galima naudoti mūsų programoje.
- Šioje kodo eilutėje mes kuriame serverio programą, pagrįstą paprasta funkcija. Ši funkcija iškviečiama visada, kai pateikiama užklausa mūsų serverio programai.
- Gavę užklausą sakome siųsti atsakymą, kurio antraštės tipas yra „200“. Šis skaičius yra įprastas atsakymas, siunčiamas http antraštėje, kai klientui siunčiamas sėkmingas atsakymas.
- Pačiame atsakyme siunčiame eilutę „Sveikas pasaulis“.
- Tada mes naudojame funkciją server.listen, kad mūsų serverio programa išklausytų kliento užklausas 7000 prievade. Čia galite nurodyti bet kurį galimą prievadą.
Jei komanda sėkmingai vykdoma, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
Iš išvesties
- Jūs aiškiai matote, kad jei mes naršysime 7000 prievado vietinio serverio URL, puslapyje pamatysite eilutę „Hello World“.
- Kadangi savo kode mes specialiai paminėjome, kad serveris galėtų klausytis prievado Nr. 7000, mes galime peržiūrėti išvestį naršydami šiame URL.
Čia yra jūsų nuorodos kodas
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 užklausų tvarkymas Node.js
Pateikti GET užklausą gauti duomenis iš kitos svetainės „Node.js“ yra gana paprasta. Norėdami pateikti „Get“ užklausą mazge, pirmiausia turime įdiegti užklausos modulį. Tai galima padaryti vykdant šią eilutę komandinėje eilutėje
npm įdiegimo užklausa
Pirmiau nurodyta komanda reikalauja „Node“ paketų tvarkyklės atsisiųsti reikiamus užklausos modulius ir juos atitinkamai įdiegti.
Kai jūsų npm modulis bus sėkmingai įdiegtas, komandinėje eilutėje bus rodomas įdiegto modulio pavadinimas ir versija:
Pirmiau pateiktoje momentinėje nuotraukoje galite pamatyti, kad „užklausos“ modulis kartu su versijos numeriu 2.67.0 buvo atsisiųstas ir įdiegtas.
Dabar pažiūrėkime kodą, kuris gali naudoti šią „užklausos“ komandą.
Kodo paaiškinimas:
- Mes naudojame „užklausos“ modulį, kuris buvo įdiegtas paskutiniame etape. Šis modulis turi būtinas funkcijas, kurias galima naudoti teikiant GET užklausas svetainėms.
- Pateikiame GET užklausą adresu www.google.lt ir paskui iškviečiame funkciją, kai gaunamas atsakymas. Gavus atsakymą, parametrai (klaida, atsakas ir turinys) turės šias reikšmes
- Klaida - jei naudojant GET užklausą yra kokių nors klaidų, ji bus įrašyta čia.
- Atsakymas - atsakymas turės http antraštes, kurios bus atsiųstos atsakyme.
- Body- Body bus visas „Google“ atsiųsto atsakymo turinys.
- Tuo mes tiesiog įrašome turinį, gautą į kūno parametrą, į failą console.log. Taigi iš esmės, kad ir ką gautume apsilankę www.google.com, bus parašyta į konsolę.log.
Čia yra jūsų nuorodos kodas
var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});
Santrauka
- Node.js sistemą galima naudoti kuriant žiniatinklio serverius naudojant „http“ modulį. Paraiška gali būti išklausyta tam tikrame uoste ir išsiųsta atsakymą klientui, kai tik prašoma programos.
- „Užklausos“ modulį galima naudoti norint gauti informaciją iš interneto svetainių. Informacijoje būtų visas tinklalapio, kurio prašoma iš atitinkamos svetainės, turinys.