În acest tutorial, vom studia cadrul expres. Acest cadru este construit în așa fel încât să acționeze ca un cadru de aplicații web minim și flexibil Node.js, oferind un set robust de caracteristici pentru construirea de aplicații web unice și multipage și hibride.
În acest tutorial, veți învăța-
- Ce este Express.js?
- Instalarea și utilizarea Express
- Ce sunt traseele?
- Exemplu de server web folosind express.js
Ce este Express.js?
Express.js este un cadru server de aplicații web Node js, care este special conceput pentru a crea aplicații web cu o singură pagină, cu mai multe pagini și hibrid.
A devenit cadrul de server standard pentru node.js. Express este partea backend a ceva cunoscut sub numele de stiva MEAN.
MEAN este un pachet de software JavaScript gratuit și open-source pentru construirea de site-uri web dinamice și aplicații web care are următoarele componente;
1) MongoDB - baza de date NoSQL standard
2) Express.js - cadrul implicit al aplicațiilor web
3) Angular.js - Cadrul JavaScript MVC utilizat pentru aplicații web
4) Node.js - Cadrul utilizat pentru aplicații scalabile de pe server și de rețea.
Cadrul Express.js face foarte ușoară dezvoltarea unei aplicații care poate fi utilizată pentru a gestiona mai multe tipuri de solicitări, cum ar fi solicitările GET, PUT și POST și DELETE.
Instalarea și utilizarea Express
Express se instalează prin Node Package Manager. Acest lucru se poate face executând următoarea linie în linia de comandă
npm install express
Comanda de mai sus solicită managerului de pachete Node să descarce modulele expres necesare și să le instaleze corespunzător.
Să folosim noul nostru cadru Express instalat și să creăm o aplicație simplă „Hello World”.
Aplicația noastră va crea un modul de server simplu care va asculta pe numărul de port 3000. În exemplul nostru, dacă o cerere este făcută prin browser pe acest număr de port, atunci aplicația server va trimite un răspuns „Hello” World ”către client .
var express=require('express');var app=express();app.get('/',function(req,res){res.send('Hello World!');});var server=app.listen(3000,function() {});
Explicatie cod:
- În prima noastră linie de cod, folosim funcția require pentru a include „modulul expres”.
- Înainte de a putea începe să folosim modulul expres, trebuie să facem un obiect al acestuia.
- Aici creăm o funcție de apel invers. Această funcție va fi apelată ori de câte ori cineva navighează la rădăcina aplicației noastre web, care este http: // localhost: 3000 . Funcția de apel invers va fi utilizată pentru a trimite șirul „Hello World” la pagina web.
- În funcția de apel invers, trimitem șirul „Hello World” înapoi către client. Parametrul „res” este utilizat pentru a trimite conținut înapoi la pagina web. Acest parametru „res” este ceva furnizat de modulul „solicitare” pentru a permite persoanei să trimită conținut înapoi la pagina web.
- Apoi folosim funcția de ascultare pentru a face ca aplicația noastră server să asculte cererile clienților de la portul 3000. Puteți specifica orice port disponibil aici.
Dacă comanda este executată cu succes, următoarea ieșire va fi afișată când rulați codul în browser.
Ieșire:
Din ieșire,
- Puteți vedea clar că, dacă navigați la adresa URL a localhost pe portul 3000, veți vedea șirul „Hello World” afișat pe pagină.
- Deoarece în codul nostru am menționat în mod special ca serverul să asculte pe portul nr 3000, putem vizualiza ieșirea atunci când navigați la această adresă URL.
Ce sunt traseele?
Rutare determină modul în care o aplicație răspunde la o cerere a clientului către un anumit punct final.
De exemplu, un client poate face o solicitare GET, POST, PUT sau DELETE http pentru diverse adrese URL, cum ar fi cele de mai jos;
http://localhost:3000/Bookshttp://localhost:3000/Students
În exemplul de mai sus,
- Dacă se face o cerere GET pentru prima adresă URL, atunci răspunsul ar trebui să fie în mod ideal o listă de cărți.
- Dacă solicitarea GET este făcută pentru a doua adresă URL, atunci răspunsul ar trebui să fie în mod ideal o listă de studenți.
- Deci, pe baza URL-ului accesat, va fi invocată o funcționalitate diferită pe serverul web și, în consecință, răspunsul va fi trimis clientului. Acesta este conceptul de rutare.
Fiecare rută poate avea una sau mai multe funcții de gestionare, care sunt executate atunci când ruta este potrivită.
Sintaxa generală pentru o rută este prezentată mai jos
app.METHOD(PATH, HANDLER)
Unde
1) aplicația este o instanță a modulului expres
2) METODA este o metodă de solicitare HTTP (GET, POST, PUT sau DELETE)
3) PATH este o cale pe server.
4) HANDLER este funcția executată atunci când ruta este potrivită.
Să vedem un exemplu despre cum putem implementa rute în expres. Exemplul nostru va crea 3 rute ca
- Rută A / Node care va afișa șirul „Tutorial pe nod” dacă se accesează această rută
- A / Rută unghiulară care va afișa șirul „Tutorial pe unghiular” dacă se accesează această rută
- O rută implicită / care va afișa șirul „Bun venit la Tutoriale Guru99”.
Codul nostru de bază va rămâne același cu exemplele anterioare. Fragmentul de mai jos este un supliment pentru a prezenta modul în care este implementată rutare.
var express = require('express');var app = express();app.route('/Node').get(function(req,res){res.send("Tutorial on Node");});app.route('/Angular').get(function(req,res){res.send("Tutorial on Angular");});app.get('/',function(req,res){res.send('Welcome to Guru99 Tutorials');}));
Explicatie cod:
- Aici definim un traseu dacă URL-ul http: // localhost: 3000 / Node este selectat în browser. La traseu, atașăm o funcție de apel invers, care va fi apelată când navighăm la adresa URL a nodului.
Funcția are 2 parametri.
- Parametrul principal pe care îl vom folosi este parametrul „res”, care poate fi folosit pentru a trimite informații înapoi clientului.
- Parametrul „req” conține informații despre solicitarea efectuată. Uneori, parametrii suplimentari ar putea fi trimiși ca parte a cererii făcute și, prin urmare, parametrul „req” poate fi utilizat pentru a găsi parametrii suplimentari care sunt trimiși.
- Folosim funcția de trimitere pentru a trimite șirul „Tutorial pe nod” înapoi clientului dacă este aleasă ruta nodului.
- Aici definim un traseu dacă URL-ul http: // localhost: 3000 / Angular este selectat în browser. La traseu, atașăm o funcție de apel invers, care va fi apelată când navighăm la adresa URL unghiulară.
- Folosim funcția de trimitere pentru a trimite șirul „Tutorial pe unghiular” înapoi către client dacă este aleasă ruta unghiulară.
- Aceasta este ruta implicită care este aleasă atunci când se navighează la ruta aplicației - http: // localhost: 3000 . Când se alege ruta implicită, mesajul „Bun venit la Tutoriale Guru99” va fi trimis clientului.
Dacă comanda este executată cu succes, următoarea ieșire va fi afișată când rulați codul în browser.
Ieșire:
Din ieșire,
- Puteți vedea clar că, dacă navigați la adresa URL a localhost de pe portul 3000, veți vedea șirul „Bun venit la tutoriale Guru99” afișat pe pagină.
- Deoarece în codul nostru, am menționat că adresa URL implicită ar afișa acest mesaj.
Din ieșire,
- Puteți vedea că dacă URL-ul a fost schimbat în / Node, ruta respectivă a nodului ar fi aleasă și se afișează șirul „Tutorial pe nod”.
Din ieșire,
- Puteți vedea că, dacă URL-ul a fost schimbat în / Angular, ruta respectivă a nodului ar fi aleasă și se afișează șirul „Tutorial On Angular”.
Exemplu de server web folosind express.js
Din exemplul nostru de mai sus, am văzut cum putem decide ce ieșire să afișăm pe baza rutare. Acest tip de rutare este ceea ce este utilizat în majoritatea aplicațiilor web moderne. Cealaltă parte a unui server web este despre utilizarea șabloanelor în Node js.
Atunci când creați aplicații Node rapide din mers, o modalitate ușoară și rapidă este de a utiliza șabloane pentru aplicație. Există multe cadre disponibile pe piață pentru realizarea de șabloane. În cazul nostru, vom lua exemplul cadrului de jad pentru șablonare.
Jade se instalează prin managerul de pachete Node. Acest lucru se poate face executând următoarea linie în linia de comandă
npm instalați jade
Comanda de mai sus solicită managerului de pachete Node să descarce modulele de jad necesare și să le instaleze corespunzător.
NOTĂ: În cea mai recentă versiune a Node jade a fost depreciată. În schimb, folosiți pug.
Să folosim cadrul nostru de jad nou instalat și să creăm câteva șabloane de bază.
Pasul 1) Primul pas este crearea unui șablon de jad. Creați un fișier numit index.jade și introduceți codul de mai jos. Asigurați-vă că creați fișierul în folderul „vizualizări”
- Aici specificăm că titlul paginii va fi schimbat la orice valoare este trecută atunci când acest șablon este invocat.
- De asemenea, specificăm că textul din eticheta de antet va fi înlocuit cu orice va fi trecut în șablonul de jad.
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){res.render('index',{title:'Guru99',message:'Welcome'})});var server=app.listen(3000,function() {});
Explicatie cod:
- Primul lucru pe care trebuie să îl specificați în aplicație este „motorul de vizualizare” care va fi utilizat pentru redarea șabloanelor. Deoarece vom folosi jade pentru a reda șabloanele noastre, specificăm acest lucru în consecință.
- Funcția de redare este utilizată pentru redarea unei pagini web. În exemplul nostru, redăm șablonul (index.jade) care a fost creat anterior.
- Transmitem valorile „Guru99” și „Bun venit” la parametrii „titlu” și respectiv „mesaj”. Aceste valori vor fi înlocuite cu parametrii „titlu” și „mesaj” declarați în șablonul index.jade.
Dacă comanda este executată cu succes, următoarea ieșire va fi afișată când rulați codul în browser.
Ieșire:
Din ieșire,
- Putem vedea că titlul paginii este setat la „Guru99”, iar antetul paginii este setat la „Bun venit”.
- Acest lucru se datorează șablonului de jad care este invocat în aplicația noastră de nod js.
rezumat
- Cadrul expres este cel mai comun cadru utilizat pentru dezvoltarea aplicațiilor Node js. Cadrul expres este construit pe partea de sus a cadrului node.js și ajută la dezvoltarea rapidă a aplicațiilor bazate pe server.
- Rutele sunt folosite pentru a redirecționa utilizatorii către diferite părți ale aplicațiilor web pe baza cererii făcute. Răspunsul pentru fiecare rută poate fi variat în funcție de ceea ce trebuie arătat utilizatorului.
- Șabloanele pot fi utilizate pentru a injecta conținut într-un mod eficient. Jade este unul dintre cele mai populare motoare de șablonare utilizate în aplicațiile Node.js.