de Pau Pavón

Într-adevăr, rutarea de bază în Node.js cu Express

Intr adevar rutarea de baza in Nodejs cu
Fotografie de Clément H pe Unsplash

Scopul acestei povești este de a explica pe scurt cum funcționează rutare în Express în timp ce construiește o aplicație simplă – foarte simplă – Node.

De asemenea, vom folosi EJS, un motor de șabloane care „vă permite să generați marcaje HTML cu JavaScript simplu”, potrivit site-ul lor web. Practic, ne va permite să creăm pagini HTML care pot varia în funcție de solicitarea pe care o face clientul. Nu vom folosi această ultimă caracteristică, dar este una excelentă. La sfârșitul acestui articol, veți găsi câteva resurse unde puteți afla mai multe.

Ce este rutare? (În linii cu 2 ish-uri)

În primul rând, să aruncăm o privire rapidă (foarte rapidă) asupra a ceea ce este rutare:

somewebsite.com/someroute

Practic, este vorba de a duce utilizatorul (sau unele date) dintr-un loc în altul. Acel loc este ruta. Ți-am spus că o voi face rapid.

Crearea proiectului

Vom construi un site web elegant pentru a afla cum funcționează rutare în Express. Verifică:

Intr adevar rutarea de baza in Nodejs cu

Super, nu? Dar este tot ce avem nevoie pentru moment.

În primul rând, să creăm proiectul și să instalăm pachetele. Rulați următoarele în linia de comandă:

npm install express

npm instalați ejs

Puteți adăuga în plus dash dash save (Scriu – ca „liniuță ” deoarece Medium îl formatează automat și nu arată bine în acest scop) pentru a-l salva în pachet.json fişier. Dar modul în care funcționează este o poveste pentru o altă zi.

Apoi vom solicita Express și vom seta motorul de vizualizare la EJS în app.js înregistrați după cum urmează:

var express = require('express');var app = express();app.set('view engine', 'ejs');

Vom include, de asemenea, următorul rând, astfel încât aplicația noastră să asculte cererile:

app.listen(3000);

Gestionarea cererilor GET

Felicitări, totul este pregătit pentru a face față solicitărilor! Există mai multe tipuri de solicitări în HTTP, dar vom gestiona numai solicitările GET, care sunt utilizate pentru a prelua date de pe server. Pentru a gestiona acest tip de cerere în Express, folosim următoarea metodă:

app.get('/about', function(req, res) {  res.render('about');});

Să aruncăm o privire la ce se întâmplă aici. Îi spunem serverului că, de fiecare dată când cineva tastează somewebsite.com/about, vrem să declanșăm o funcție. Această funcție are doi parametri, cer (cerere) și rez (raspuns). Folosind obiectul de răspuns, redăm despre pagina.

Pentru ca acest lucru să funcționeze, va trebui să creăm o pagină numită about.ejs în HTML. De asemenea, îl vom plasa într-un folder numit vederi în dosarul proiectului nostru. Acesta este folderul în care Express va căuta pentru a reda vizualizarea. Aici aveți mega-complexul despre pagina pe care o vom folosi pentru acest exemplu:

1612111686 445 Intr adevar rutarea de baza in Nodejs cu

Grozav! Dar, dacă utilizatorul nu tastează niciun traseu? La fel cum facem de cele mai multe ori, somewebsite.com? Ei bine, foarte ușor. Schimbare /despre Doar pentru /, și redați orice pagină doriți:

app.get('/', function(req, res) {  res.render('home');});

Gestionarea rutelor inexistente

Dar dacă cineva tastează un traseu care nu există? Probabil că nu vrem să apară o pagină de erori implicită. În schimb, dorim o pagină de erori personalizată și interesantă.

Ei bine, vestea bună este că este extrem de ușor să faci una cu Express. Doar înlocuiți parametrul de rută din metoda get cu un asterisc și redați propria pagină de eroare astfel:

app.get('*', function(req, res) {  res.render('error');});

Încercând!

În cele din urmă, să rulăm serverul nostru de pe linia de comandă (presupunând că serverul este numit app.js)

aplicație nod

și vezi dacă funcționează! Să introducem numele serverului nostru (gazdă locală, deoarece este un server local care rulează pe computerul nostru) și portul (3000 în acest caz) în browserul nostru:

localhost: 3000

1612111687 393 Intr adevar rutarea de baza in Nodejs cu
localhost: 3000 sau localhost: 3000 /
1612111687 955 Intr adevar rutarea de baza in Nodejs cu
localhost: 3000 / aproximativ
1612111687 623 Intr adevar rutarea de baza in Nodejs cu
localhost: 3000 / orice lucru care se evidențiază înainte

Uimitor!

Lecturi suplimentare

Puteți afla tot ce trebuie să știți despre rutare în Ghid expres, și există o mulțime de lucruri la îndemână în Site-ul EJS de asemenea!

Sper că acest articol ți-a fost de ajutor. Dacă a fost, vă rugăm să lăsați un comentariu și să-l bateți!

Codificare fericită … Sau rutare fericită, cred!