Node.js-kehystä käytetään enimmäkseen palvelinpohjaisten sovellusten luomiseen. Kehystä voidaan helposti käyttää luomaan verkkopalvelimia, jotka voivat palvella sisältöä käyttäjille.
On olemassa useita moduuleja, kuten "http" - ja "request" -moduulit, jotka auttavat palvelimiin liittyvien pyyntöjen käsittelyssä verkkopalvelintilassa. Katsomme, miten voimme luoda perusverkkopalvelinsovelluksen Node js: n avulla.
Solmu Web-palvelimena HTTP: n avulla
Tarkastellaan esimerkkiä ensimmäisen Node js -sovelluksen luomisesta ja ajamisesta.
Sovelluksemme aikoo luoda yksinkertaisen palvelinmoduulin, joka kuuntelee porttia nro 7000. Jos pyyntö tehdään tämän selaimen kautta olevan selaimen kautta, palvelinsovellus lähettää asiakkaalle "Hello World" -vastauksen.
Koodin selitys:
- Vaadi-toiminnon perustoiminnot ovat, että se lukee JavaScript-tiedoston, suorittaa tiedoston ja palauttaa sitten vientiobjektin. Joten meidän tapauksessamme, koska haluamme käyttää http-moduulin toiminnallisuutta, käytämme vaadittavaa toimintoa saadaksesi halutut toiminnot http-moduulista, jotta sitä voidaan käyttää sovelluksessamme.
- Tässä koodirivissä luomme palvelinsovelluksen, joka perustuu yksinkertaiseen toimintoon. Tätä toimintoa kutsutaan aina, kun palvelusovellukselle tehdään pyyntö.
- Kun pyyntö on vastaanotettu, sanomme lähettävän vastauksen otsikkotyypillä "200". Tämä numero on normaali vastaus, joka lähetetään http-otsikossa, kun onnistunut vastaus lähetetään asiakkaalle.
- Itse vastauksessa lähetämme merkkijonon "Hello World".
- Sitten käytämme server.listen-toimintoa saadaksemme palvelinsovelluksen kuuntelemaan asiakaspyyntöjä portissa nro 7000. Voit määrittää minkä tahansa käytettävissä olevan portin täältä.
Jos komento suoritetaan onnistuneesti, seuraava tulos näkyy, kun suoritat koodisi selaimessa.
Tuotos:
Lähdöstä
- Voit selvästi nähdä, että jos selataan portin 7000 paikallisen isännän URL-osoitteeseen, näet sivulla merkkijonon "Hello World".
- Koska koodissamme olemme maininneet nimenomaan palvelimen kuuntelemiseksi portissa nro 7000, pystymme tarkastelemaan tulosta, kun selaat tätä URL-osoitetta.
Tässä on viitteesi koodi
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-pyyntöjen käsittely Node.js-tiedostossa
Gode-pyynnön tekeminen tietojen hakemiseksi toisesta sivustosta on suhteellisen yksinkertaista Node.js: ssä. Jos haluat tehdä haun pyynnön solmusta, meidän on ensin asennettava pyyntömoduuli. Tämä voidaan tehdä suorittamalla seuraava rivi komentorivillä
npm -asennuspyyntö
Yllä oleva komento pyytää Node-paketinhallintaa lataamaan vaaditut pyyntömoduulit ja asentamaan ne vastaavasti.
Kun npm-moduuli on asennettu onnistuneesti, komentorivillä näkyy asennetun moduulin nimi ja versio:
Yllä olevasta tilannekuvasta näet, että 'request' -moduuli ja versionumero 2.67.0 ladattiin ja asennettiin.
Katsotaan nyt koodi, joka voi käyttää tätä 'pyyntö' -komentoa.
Koodin selitys:
- Käytämme 'request' -moduulia, joka asennettiin viimeiseen vaiheeseen. Tässä moduulissa on tarvittavat toiminnot, joita voidaan käyttää GET-pyyntöjen tekemiseen verkkosivustoille.
- Lähetämme GET-pyynnön osoitteeseen www.google.fi ja soitamme myöhemmin toiminnolle, kun vastaus on vastaanotettu. Kun vastaus on vastaanotettu, parametreilla (virhe, vaste ja teksti) on seuraavat arvot
- Virhe - Jos GET-pyynnön käytössä on virheitä, se tallennetaan tähän.
- Vastaus - Vastauksessa on http-otsikot, jotka lähetetään takaisin vastauksessa.
- Runko - Runko sisältää Googlen lähettämän vastauksen koko sisällön.
- Tässä kirjoitamme vain body-parametriin vastaanotettua sisältöä console.log-tiedostoon. Joten mitä tahansa saamme käymällä osoitteessa www.google.com , kirjoitetaan konsoliin.log.
Tässä on viitteesi koodi
var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});
Yhteenveto
- Node.js-kehystä voidaan käyttää web-palvelinten kehittämiseen käyttämällä 'http' -moduulia. Sovellus voidaan saada kuuntelemaan tietyssä portissa ja lähettämään vastaus asiakkaalle aina, kun sovellukselle tehdään pyyntö.
- 'Pyyntö' -moduulia voidaan käyttää tietojen hakemiseen verkkosivustoilta. Tiedot sisältäisivät kyseiseltä verkkosivustolta pyydetyn verkkosivun koko sisällön.