Opret HTTP-webserver i Node.js: Vejledning med Code Eksempel
Node.js-rammevรฆrket bruges mest til at skabe serverbaserede applikationer. Rammerne kan nemt bruges til at skabe webservere, som kan servere indhold til brugerne.
Der er en rรฆkke moduler sรฅsom "http" og "request" modulet, som hjรฆlper med at behandle serverrelaterede anmodninger i webserverrummet. Vi vil se pรฅ, hvordan vi kan oprette en grundlรฆggende webserverapplikation ved hjรฆlp af Knude js.
Node som en webserver ved hjรฆlp af HTTP
Lad os se pรฅ et eksempel pรฅ, hvordan man opretter og kรธrer vores fรธrste Node js-applikation.
Vores applikation vil skabe et simpelt servermodul, som vil lytte pรฅ port nr. 7000. Hvis en anmodning foretages gennem browseren pรฅ dette portnr., vil serverapplikationen sende et 'Hello World'-svar til klienten.
Code Forklaring
- Den grundlรฆggende funktionalitet af require-funktionen er, at den lรฆser en JavaScript fil, udfรธrer filen og fortsรฆtter derefter med at returnere eksportobjektet. Sรฅ i vores tilfรฆlde, da vi รธnsker at bruge funktionaliteten i http-modulet, bruger vi funktionen require til at hente de รธnskede funktioner fra http-modulet, sรฅ det kan bruges i vores applikation.
- I denne kodelinje opretter vi en serverapplikation, som er baseret pรฅ en simpel funktion. Denne funktion kaldes hver gang der sendes en anmodning til vores serverapplikation.
- Nรฅr en anmodning modtages, siger vi, at du skal sende et svar med en overskriftstype pรฅ '200'. Dette nummer er det normale svar, som sendes i en http-header, nรฅr et vellykket svar sendes til klienten.
- I selve svaret sender vi strengen 'Hello World'.
- Vi bruger derefter server.listen-funktionen til at fรฅ vores serverapplikation til at lytte til klientforespรธrgsler pรฅ port nr. 7000. Du kan angive enhver tilgรฆngelig port herovre.
Hvis kommandoen udfรธres med succes, vil fรธlgende output blive vist, nรฅr du kรธrer din kode i browseren.
Produktion
Fra udgangen,
- Du kan tydeligt se, at hvis vi browser til URL'en for localhost pรฅ port 7000, vil du se strengen 'Hello World' pรฅ siden.
- Fordi vi i vores kode har nรฆvnt specifikt, at serveren skal lytte pรฅ port nr. 7000, er vi i stand til at se outputtet, nรฅr vi browser til denne url.
Her er koden til din reference
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 af GET-anmodninger i Node.js
At lave en GET-anmodning for at fรฅ data fra et andet websted er relativt meget enkelt i Node.js. For at lave en Hent anmodning i noden, skal vi fรธrst have anmodningsmodulet installeret. Dette kan gรธres ved at udfรธre fรธlgende linje i kommandolinjen
npm installationsanmodning
Ovenstรฅende kommando anmoder Node-pakkeadministratoren om at downloade de nรธdvendige anmodningsmoduler og installere dem i overensstemmelse hermed.
Nรฅr dit npm-modul er blevet installeret korrekt, vil kommandolinjen vise det installerede modulnavn og version: @ .
I ovenstรฅende snapshot kan du se, at 'request'-modulet sammen med versionsnummeret 2.67.0 blev downloadet og installeret.
Lad os nu se koden, der kan gรธre brug af denne 'request'-kommando.
Code Forklaring
- Vi bruger "request"-modulet, som blev installeret i sidste trin. Dette modul har de nรธdvendige funktioner, som kan bruges til at lave GET-forespรธrgsler til websteder.
- Vi laver en GET-anmodning til www.google.com og kalder efterfรธlgende en funktion, nรฅr der modtages et svar. Nรฅr et svar modtages, vil parametrene (fejl, svar og brรธdtekst) have fรธlgende vรฆrdier
- Fejl โ I tilfรฆlde af at der er modtaget en fejl ved brug af GET-anmodningen, vil den blive registreret her.
- Svar- Svaret vil have http-headerne, som sendes tilbage i svaret.
- Body- Brรธdteksten vil indeholde hele indholdet af svaret sendt af Google.
- I dette skriver vi blot indholdet modtaget i body-parameteren til filen console.log. Sรฅ dybest set, hvad end vi fรฅr ved at gรฅ til www.google.com vil blive skrevet til console.log.
Her er koden til din reference
var request = require("request");
request("http://www.google.com",function(error,response,body)
{
console.log(body);
});
Resumรฉ
- Node.js-rammevรฆrket kan bruges til at udvikle webservere ved hjรฆlp af 'http'-modulet. Applikationen kan fรฅs til at lytte pรฅ en bestemt port og sende et svar til klienten, nรฅr der fremsรฆttes en anmodning til applikationen.
- 'Request'-modulet kan bruges til at fรฅ information fra websteder. Oplysningerne vil indeholde hele indholdet af den webside, der anmodes om fra det relevante websted.




