Creați server web HTTP în Node.js: tutorial cu exemplu de cod
Cadrul Node.js este folosit mai ales pentru a crea aplicații bazate pe server. Cadrul poate fi utilizat cu ușurință pentru a crea servere web care pot oferi conținut utilizatorilor.
Există o varietate de module, cum ar fi modulul „http” și „cerere”, care ajută la procesarea cererilor legate de server în spațiul serverului web. Vom arunca o privire asupra modului în care putem crea o aplicație de bază de server web folosind Nodul js.
Nod ca server web folosind HTTP
Să ne uităm la un exemplu despre cum să creăm și să rulăm prima noastră aplicație Node js.
Aplicația noastră va crea un modul server simplu care va asculta pe portul nr. 7000. Dacă se face o solicitare prin browser pe acest port nr, atunci aplicația server va trimite un răspuns „Hello World” către client.
Explicarea codului
- Funcționalitatea de bază a funcției require este că citește a JavaScenariu fișier, execută fișierul și apoi continuă să returneze obiectul de export. Deci, în cazul nostru, deoarece dorim să folosim funcționalitatea modulului http, folosim funcția require pentru a obține funcțiile dorite din modulul http, astfel încât să poată fi utilizat în aplicația noastră.
- În această linie de cod, creăm o aplicație server care se bazează pe o funcție simplă. Această funcție este apelată ori de câte ori se face o solicitare către aplicația noastră server.
- Când se primește o solicitare, spunem să trimiteți un răspuns cu un tip de antet „200”. Acest număr este răspunsul normal care este trimis într-un antet http atunci când un răspuns de succes este trimis clientului.
- În răspunsul în sine, trimitem șirul „Hello World”.
- Apoi folosim funcția server.listen pentru a face ca aplicația noastră de server să asculte cererile clienților pe portul nr. 7000. Puteți specifica orice port disponibil aici.
Dacă comanda este executată cu succes, următoarea ieșire va fi afișată atunci când rulați codul în browser.
producție
Din ieșire,
- Puteți vedea clar că, dacă navigăm la adresa URL a localhost pe portul 7000, veți vedea șirul „Hello World” afișat în pagină.
- Deoarece în codul nostru am menționat în mod special ca serverul să asculte pe portul nr. 7000, putem vedea rezultatul când navigăm la această adresă URL.
Iată codul pentru referință
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);
Gestionarea cererilor GET în Node.js
Efectuarea unei cereri GET pentru a obține date de pe un alt site este relativ foarte simplă în Node.js. Pentru a face o cerere Get în nod, trebuie să avem mai întâi instalat modulul de solicitare. Acest lucru se poate face executând următoarea linie în linia de comandă
cerere de instalare npm
Comanda de mai sus solicită managerului de pachete Node să descarce modulele de solicitare necesare și să le instaleze în consecință.
Când modulul dvs. npm a fost instalat cu succes, linia de comandă va afișa numele și versiunea modulului instalat: @ .
În instantaneul de mai sus, puteți vedea că modulul „cerere” împreună cu numărul de versiune 2.67.0 a fost descărcat și instalat.
Acum să vedem codul care poate folosi această comandă „cerere”.
Explicarea codului
- Folosim modulul „cerere” care a fost instalat în ultimul pas. Acest modul are funcțiile necesare care pot fi folosite pentru a face solicitări GET către site-uri web.
- Facem o Solicitare GET către www.google.com și, ulterior, apelăm o funcție atunci când primim un răspuns. Când se primește un răspuns, parametrii (eroare, răspuns și corp) vor avea următoarele valori
- Eroare – În cazul în care există vreo eroare primită la utilizarea cererii GET, aceasta va fi înregistrată aici.
- Răspuns - Răspunsul va avea antetele http care sunt trimise înapoi în răspuns.
- Corpul - Corpul va conține întregul conținut al răspunsului trimis de Google.
- În aceasta, scriem doar conținutul primit în parametrul body în fișierul console.log. Deci, practic, orice vom obține mergând www.google.com va fi scris în console.log.
Iată codul pentru referință
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
Rezumat
- Cadrul Node.js poate fi folosit pentru a dezvolta servere web folosind modulul „http”. Aplicația poate fi făcută să asculte pe un anumit port și să trimită un răspuns clientului ori de câte ori se face o cerere către aplicație.
- Modulul „cerere” poate fi folosit pentru a obține informații de pe site-uri web. Informațiile ar conține întregul conținut al paginii web solicitate de la site-ul web relevant.