Rámec Node.js sa väčšinou používa na vytváranie serverových aplikácií. Rámec sa dá ľahko použiť na vytvorenie webových serverov, ktoré môžu slúžiť používateľom.
Existuje celý rad modulov, ako napríklad modul „http“ a „request“, ktorý pomáha pri spracovávaní požiadaviek súvisiacich so serverom v priestore webového servera. Pozrime sa, ako môžeme pomocou Node js vytvoriť základnú aplikáciu webového servera.
Uzol ako webový server pomocou protokolu HTTP
Pozrime sa na príklad toho, ako vytvoriť a spustiť našu prvú aplikáciu Node js.
Naša aplikácia vytvorí jednoduchý serverový modul, ktorý bude počúvať na porte č. 7000. Ak je prostredníctvom prehliadača na tomto porte č. Zadaná požiadavka, serverová aplikácia odošle klientovi odpoveď „Hello World“.
Vysvetlenie kódu:
- Základnou funkciou funkcie require je, že číta súbor JavaScript, vykoná ho a potom pokračuje v návrate objektu exportu. Takže v našom prípade, keďže chceme využiť funkcionalitu modulu http, použijeme funkciu require na získanie požadovaných funkcií z modulu http, aby ich bolo možné použiť v našej aplikácii.
- V tomto riadku kódu vytvárame serverovú aplikáciu, ktorá je založená na jednoduchej funkcii. Táto funkcia sa volá vždy, keď sa urobí požiadavka na našu serverovú aplikáciu.
- Po prijatí žiadosti hovoríme o odoslaní odpovede s typom hlavičky „200“. Toto číslo je normálna odpoveď, ktorá sa odošle do hlavičky http, keď sa klientovi pošle úspešná odpoveď.
- V samotnej odpovedi posielame reťazec „Hello World“.
- Potom používame funkciu server.listen, aby naša serverová aplikácia naslúchala požiadavkám klientov na porte č. 7000. Tu môžete určiť akýkoľvek dostupný port.
Ak je príkaz vykonaný úspešne, pri spustení kódu v prehliadači sa zobrazí nasledujúci výstup.
Výkon:
Z výstupu
- Jasne vidíte, že ak prejdeme na adresu URL localhost na porte 7000, na stránke sa zobrazí reťazec „Hello World“.
- Pretože v našom kóde sme spomenuli špeciálne pre server, ktorý má počúvať na porte č. 7000, sme schopní zobraziť výstup pri prechádzaní na túto adresu URL.
Tu je kód pre vašu referenciu
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);
Vybavovanie GET požiadaviek v Node.js
Zadanie požiadavky GET na získanie údajov z iného webu je v Node.js. relatívne jednoduché. Ak chcete v uzle zadať požiadavku na získanie, musíme najskôr nainštalovať modul žiadosti. To je možné vykonať vykonaním nasledujúceho riadku v príkazovom riadku
npm požiadavka na inštaláciu
Vyššie uvedený príkaz žiada manažéra balíkov uzlov, aby stiahol požadované moduly požiadaviek a podľa toho ich nainštaloval.
Keď je váš modul npm úspešne nainštalovaný, zobrazí sa v príkazovom riadku názov a verzia nainštalovaného modulu:
Na snímke vyššie je vidieť, že bol stiahnutý a nainštalovaný modul „požiadavka“ spolu s verziou číslo 2.67.0.
Teraz sa pozrime na kód, ktorý dokáže využiť tento príkaz „request“.
Vysvetlenie kódu:
- Používame modul „žiadosť“, ktorý bol nainštalovaný v poslednom kroku. Tento modul má potrebné funkcie, ktoré možno použiť na vytváranie požiadaviek GET na webové stránky.
- Robíme GET požiadavku na www.google.com a následne zavoláme funkciu, keď dostaneme odpoveď. Po prijatí odpovede budú mať parametre (chyba, odpoveď a telo) nasledujúce hodnoty
- Chyba - V prípade, že pri použití požiadavky GET dôjde k chybe, zaznamená sa tu.
- Odpoveď - Odpoveď bude mať hlavičky http, ktoré sa pošlú späť v odpovedi.
- Body - telo bude obsahovať celý obsah odpovede odoslanej spoločnosťou Google.
- V tomto iba zapisujeme prijatý obsah do parametra body do súboru console.log. Takže v podstate všetko, čo dostaneme na www.google.com, bude napísané na console.log.
Tu je kód pre vašu referenciu
var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});
Zhrnutie
- Rámec Node.js možno použiť na vývoj webových serverov pomocou modulu „http“. Aplikáciu je možné vytvoriť tak, aby počúvala na konkrétnom porte a poslala klientovi odpoveď vždy, keď sa na aplikáciu pošle žiadosť.
- Modul „žiadosť“ možno použiť na získanie informácií z webových stránok. Informácie by obsahovali celý obsah webovej stránky požadovaný z príslušnej webovej stránky.