Opprett HTTP-webserver i Node.js: Veiledning med Code Eksempel

Node.js-rammeverket brukes mest til รฅ lage serverbaserte applikasjoner. Rammeverket kan enkelt brukes til รฅ lage webservere som kan servere innhold til brukere.

Det finnes en rekke moduler som "http" og "request"-modulen, som hjelper til med รฅ behandle serverrelaterte forespรธrsler i webserverplassen. Vi skal se pรฅ hvordan vi kan lage en grunnleggende webserverapplikasjon ved hjelp av Node js.

Node som en webserver som bruker HTTP

La oss se pรฅ et eksempel pรฅ hvordan du oppretter og kjรธrer vรฅr fรธrste Node js-applikasjon.

Vรฅr applikasjon kommer til รฅ lage en enkel servermodul som vil lytte pรฅ port nr. 7000. Hvis en forespรธrsel gjรธres gjennom nettleseren pรฅ dette portnummeret, vil serverapplikasjonen sende et 'Hello World'-svar til klienten.

Node som en webserver som bruker HTTP

Code Forklaring

  1. Den grunnleggende funksjonaliteten til require-funksjonen er at den leser en JavaScript fil, kjรธrer filen og fortsetter deretter med รฅ returnere eksportobjektet. Sรฅ i vรฅrt tilfelle, siden vi รธnsker รฅ bruke funksjonaliteten til http-modulen, bruker vi require-funksjonen for รฅ fรฅ de รธnskede funksjonene fra http-modulen slik at den kan brukes i vรฅr applikasjon.
  2. I denne kodelinjen lager vi en serverapplikasjon som er basert pรฅ en enkel funksjon. Denne funksjonen kalles hver gang en forespรธrsel sendes til vรฅr serverapplikasjon.
  3. Nรฅr en forespรธrsel mottas, sier vi รฅ sende et svar med en overskriftstype pรฅ "200". Dette nummeret er det normale svaret som sendes i en http-header nรฅr et vellykket svar sendes til klienten.
  4. I selve svaret sender vi strengen "Hello World."
  5. Vi bruker da server.listen-funksjonen for รฅ fรฅ serverapplikasjonen vรฅr til รฅ lytte til klientforespรธrsler pรฅ port nr 7000. Du kan spesifisere hvilken som helst tilgjengelig port her.

Hvis kommandoen utfรธres vellykket, vil fรธlgende utdata vises nรฅr du kjรธrer koden i nettleseren.

Produksjon

Node som en webserver som bruker HTTP

Fra utgangen,

  • Du kan tydelig se det hvis vi blar til URL av localhost pรฅ port 7000, vil du se strengen 'Hello World' vist pรฅ siden.
  • Fordi vi i koden vรฅr har nevnt spesifikt at serveren skal lytte pรฅ port nr. 7000, kan vi se utdataene nรฅr vi blar til denne url-en.

Her er koden som referanse

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);

Hรฅndtering av GET-forespรธrsler i Node.js

ร… lage en GET-forespรธrsel for รฅ fรฅ dataene fra et annet nettsted er relativt enkelt i Node.js. For รฅ lage en Get-forespรธrsel i noden, mรฅ vi fรธrst ha forespรธrselsmodulen installert. Dette kan gjรธres ved รฅ utfรธre fรธlgende linje pรฅ kommandolinjen

npm installasjonsforespรธrsel

Kommandoen ovenfor ber Node-pakkebehandleren om รฅ laste ned de nรธdvendige forespรธrselsmodulene og installere dem deretter.

Nรฅr npm-modulen din har blitt installert, vil kommandolinjen vise navnet og versjonen av den installerte modulen: @ .

Hรฅndtering av GET-forespรธrsler

I รธyeblikksbildet ovenfor kan du se at 'forespรธrsel'-modulen sammen med versjonsnummer 2.67.0 ble lastet ned og installert.

La oss nรฅ se koden som kan bruke denne 'request'-kommandoen.

Hรฅndtering av GET-forespรธrsler

Code Forklaring

  1. Vi bruker "request"-modulen som ble installert i siste trinn. Denne modulen har de nรธdvendige funksjonene som kan brukes til รฅ lage GET-forespรธrsler til nettsider.
  2. Vi sender en GET-forespรธrsel til www.google.com og kaller deretter opp en funksjon nรฅr et svar mottas. Nรฅr et svar mottas, vil parametrene (feil, svar og brรธdtekst) ha fรธlgende verdier
    1. Feil โ€“ I tilfelle det er en feil mottatt nรฅr du bruker GET-forespรธrselen, vil den bli registrert her.
    2. Svar- Svaret vil ha http-hodene som sendes tilbake i svaret.
    3. Brรธdtekst โ€“ Brรธdteksten vil inneholde hele innholdet i svaret som sendes av Google.
  3. I dette skriver vi bare innholdet mottatt i body-parameteren til console.log-filen. Sรฅ i utgangspunktet, uansett hva vi fรฅr ved รฅ gรฅ til www.google.com vil bli skrevet til console.log.

Her er koden som referanse

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

Sammendrag

  • Node.js-rammeverket kan brukes til รฅ utvikle webservere ved รฅ bruke 'http'-modulen. Applikasjonen kan gjรธres for รฅ lytte pรฅ en bestemt port og sende et svar til klienten hver gang det sendes en forespรธrsel til applikasjonen.
  • "Request"-modulen kan brukes til รฅ hente informasjon fra nettsider. Informasjonen vil inneholde hele innholdet pรฅ nettsiden forespurt fra det relevante nettstedet.

Oppsummer dette innlegget med: