Node.js Express.js FrameWork-vejledning

⚡ Smart opsummering

Express.js er et minimalistisk Node.js webapplikationsframework, der tilføjer routing, middleware og skabelonrendering til det centrale HTTP-modul, så enkeltsidede, flersidede og hybride applikationer når en fungerende server på meget få linjer.

  • 🔘 MEAN stakrolle: Express.js leverer backend-laget ved siden af MongoDB, AngularJS og Node.js.
  • ☑️ Installation: npm install express henter frameworket fra Node Package Manager.
  • Routing: app.METHOD(PATH, HANDLER) knytter hver URL og HTTP-verbum til én handler.
  • 🧪 Skabeloner: app.set('view engine') plus res.render indlæser data i en view-fil.
  • 🛠️ Moderne form: Express 5 accepterer promise-returning handlers og bundter express.json().
  • 📊 Versionsnotat: Jade blev omdøbt til Pug, og Node.js 24 er den aktive LTS-linje.

Node.js Express.js framework-vejledning

I denne vejledning vil vi studere Express-frameworket. Dette framework er bygget på en sådan måde, at det fungerer som et minimalistisk og fleksibelt Node.js webapplikationsframework, der leverer et robust sæt funktioner til at bygge single-page, multi-page og hybrid webapplikationer.

Hvad er Express.js?

Express.js er et Node.js webapplikationsserverframework, der er specifikt designet til at bygge single-page, multi-page og hybrid webapplikationer.

Det er blevet standard serverframeworket for Node.js. Express er backend-delen af ​​noget, der kaldes MEAN-stakken.

Express-lagsrouting og middleware over den centrale Node.js HTTP, vandløb og events-API'er.

MEAN er en gratis og open source JavaScript Softwarestak til opbygning af dynamiske websteder og webapplikationer, som har følgende komponenter;

1) MongoDB — Standard NoSQL-databasen

2) Express.js — Standard webapplikationsframeworket

3) AngularJS - Det JavaScript MVC-ramme, der bruges til webapplikationer

4) node.js — Framework brugt til skalerbare server-side og netværksapplikationer.

Express.js-rammen gør det meget nemt at udvikle en applikation, som kan bruges til at håndtere flere typer anmodninger som GET, PUT og POST og DELETE-anmodninger.

Installation og brug af Express

Express bliver installeret via Node Package Manager. Dette kan gøres ved at udføre følgende linje i kommandolinjen

npm install Express

Ovenstående kommando anmoder Node Package Manager om at downloade den nødvendige ekspresfil. moduler og installer dem i overensstemmelse hermed.

Versionsnotat: npm installerer nu Express 5.2; mange projekter fastlåser stadig Express 4. Begge kører eksemplerne nedenfor på en understøttet Node.js-udgivelse.

Lad os bruge vores nyligt installerede Express-ramme og skabe en simpel "Hello World"-applikation.

Vores applikation vil skabe en simpel servermodul som vil lytte på portnummer 3000. I vores eksempel, hvis en anmodning foretages via browseren på dette portnummer, vil serverapplikationen sende et 'Hello World'-svar til klienten.

Annoteret Express Hello World-serverkode, der lytter på port 3000

var express=require('express');
var app=express();
app.get('/',function(req,res)
{
res.send('Hello World!');
});
var server=app.listen(3000,function() {});

Code Forklaring:

  1. I vores første kodelinje bruger vi kræve-funktionen til at inkludere "ekspressmodulet."
  2. Før vi kan begynde at bruge ekspresmodulet, skal vi lave et objekt af det.
  3. Her opretter vi en callback-funktion. Denne funktion kaldes, når nogen besøger roden af ​​vores webapplikation, som er http://localhost:3000. Callback-funktionen bruges til at sende strengen 'Hello World' til websiden.
  4. I tilbagekaldsfunktionen sender vi strengen "Hello World" tilbage til klienten. Parameteren 'res' bruges til at sende indhold tilbage til websiden. Denne 'res'-parameter er noget, der leveres af 'request'-modulet for at gøre det muligt for en at sende indhold tilbage til websiden.
  5. Vi bruger derefter lyttefunktionen til at få vores serverapplikation til at lytte til klientanmodninger på port nr. 3000. Du kan angive enhver tilgængelig port her.

Hvis kommandoen udføres med succes, vil følgende output blive vist, når du kører din kode i browseren.

Output:

Browseren viser Hello World returneret af Express-serveren på port 3000

Fra udgangen,

  • Det kan du tydeligt se, hvis du kigger på URL af localhost på port 3000, vil du se strengen 'Hello World' vist på siden.
  • Fordi vi i vores kode specifikt har nævnt, at serveren skal lytte på port nr. 3000, kan vi se outputtet, når vi browser til dette. URL.

Hvad er ruter?

En enkelt rodrute er kun udgangspunktet.

Routing bestemmer, hvordan en applikation reagerer på en klientanmodning til et bestemt slutpunkt.

For eksempel kan en klient foretage en GET-, POST-, PUT- eller DELETE http-anmodning for forskellige URL som dem vist nedenfor;

http://localhost:3000/Books
http://localhost:3000/Students

I ovenstående eksempel

  • Hvis der foretages en GET-anmodning for den første URL, så bør svaret ideelt set være en liste over bøger.
  • Hvis GET-anmodningen foretages for den anden URL, så bør svaret ideelt set være en liste over studerende.
  • Så baseret på URL som tilgås, vil en anden funktionalitet på webserveren blive kaldt, og svaret vil derfor blive sendt til klienten. Dette er konceptet med routing.

Hver rute kan have en eller flere handlerfunktioner, som udføres, når ruten matches.

Den generelle syntaks for en rute er vist nedenfor

app.METHOD(PATH, HANDLER)

hvori,

1) app er en forekomst af ekspresmodulet

2) METODE er en HTTP-anmodningsmetode (GET, POST, PUT eller DELETE)

3) PATH er en sti på serveren.

4) HANDLER er den funktion, der udføres, når ruten matches.

Ring til os på Anmod om Formål
app.get(STI, HANDLERE) GET Læs
app.post(PATH, HANDLER) POST Opret
app.put(PATH, HANDLER) PUT udskifte
app.delete(PATH, HANDLER) SLET Fjern
app.rute(PATH) Lænket Gruppehåndterere
app.use(HANDLER) Enhver Monter middleware

⚠️ Express 5 noter: Disse signaturer er uændrede, men app.del() blev til app.delete(), res.sendfile() blev til res.sendFile(), og jokertegn skal nu bruge navne som /*splat.

Lad os se på et eksempel på, hvordan vi kan implementere ruter i Express. Vores eksempel vil oprette 3 ruter som

  1. En /Node-rute, som viser strengen "Tutorial on Node", hvis denne rute er tilgået
  2. En /Angular rute, som vil vise strengen "Tutorial on Angular", hvis denne rute er tilgået
  3. En standardrute / som viser strengen "Velkommen til Guru99 vejledninger.

Vores grundlæggende kode vil forblive den samme som tidligere eksempler. Nedenstående uddrag er en tilføjelse til at vise, hvordan routing implementeres.

Annoteret Express-routingkode, der definerer Node-, Angular- og standardruterne

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');
});

Code Forklaring:

  1. Her definerer vi en rute, hvis URL http://localhost:3000/Node is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Node URLFunktionen har 2 parametre.
    • Hovedparameteren vi vil bruge er 'res' parameteren, som kan bruges til at sende information tilbage til klienten.
    • Parameteren 'req' har information om den anmodning, der foretages. Nogle gange kan yderligere parametre sendes som en del af anmodningen, der foretages, og derfor kan 'req'-parameteren bruges til at finde de yderligere parametre, der sendes.
  2. Vi bruger sendefunktionen til at sende strengen "Tutorial on Node" tilbage til klienten, hvis noderuten er valgt.
  3. Her definerer vi en rute, hvis URL http://localhost:3000/Angular is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Angular URL.
  4. Vi bruger sendefunktionen til at sende strengen "Tutorial on Angular" tilbage til klienten, hvis Angular-ruten er valgt.
  5. Dette er standardruten, som vælges, når man navigerer til roden af ​​applikationen — http://localhost:3000. Når standardruten er valgt, vises meddelelsen "Velkommen til Guru"99 Tutorials" vil blive sendt til klienten.

Hvis kommandoen udføres med succes, vil følgende output blive vist, når du kører din kode i browseren.

Output:

Browser viser Velkommen til Guru99 vejledninger på standard Express-ruten

Fra udgangen,

  • Det kan du tydeligt se, hvis du kigger på URL af localhost på port 3000, vil du se strengen 'Velkommen til Guru99 vejledninger vises på siden.
  • Fordi vi i vores kode har nævnt, at vores standard URL ville vise denne besked.

Gå derefter til /Node.

Browser viser vejledning om node returneret af node-ruten

Fra udgangen,

  • Du kan se, at hvis URL er blevet ændret til /Node, ville den respektive node-rute blive valgt, og strengen "Tutorial on Node" vises.

Gå derefter til /Angular.

Browser viser vejledning om Angular returneret af Angular-ruten

Fra udgangen,

  • Du kan se, at hvis URL er blevet ændret til /Angular, ville den respektive node-rute blive valgt, og strengen "Tutorial on Angular" vises.

Eksempel på webserver ved hjælp af express.js

Fra ovenstående eksempel har vi set, hvordan vi kan bestemme, hvilket output der skal vises, baseret på routing. Denne type routing bruges i de fleste moderne webapplikationer. Den anden del af en webserver handler om at bruge skabeloner i Node.js.

Når man opretter hurtige Node.js-applikationer on-the-fly, er en nem og hurtig måde at bruge skabeloner til applikationen. Der findes mange frameworks på markedet til at lave skabeloner. I vores tilfælde vil vi tage eksemplet med Jade-frameworket til skabelonudvikling.

Jade installeres via Node Package Manager. Dette kan gøres ved at udføre følgende linje i kommandolinjen.

npm installer jade

Ovenstående kommando anmoder Node Package Manager om at downloade de nødvendige Jade-moduler og installere dem i overensstemmelse hermed.

BEMÆRK VENLIGST: I den seneste version af Node er jade blevet forældet. Brug i stedet pug.

⚠️ Moderne ækvivalent: installere Mops, omdøb index.jade til index.pug og sæt app.set('view engine','pug'). Jade-pakken modtager ingen opdateringer; trinene nedenfor kører stadig.

Lad os bruge vores nyinstallerede Jade-framework og oprette nogle grundlæggende skabeloner.

Trin 1) Det første trin er at oprette en Jade-skabelon. Opret en fil kaldet index.jade og indsæt nedenstående kode. Sørg for at oprette filen i mappen "views".

index.jade skabelonmarkup med titel- og headerpladsholdere

  1. Her specificerer vi, at titlen på siden vil blive ændret til den værdi, der sendes, når denne skabelon bliver kaldt.
  2. Vi specificerer også, at teksten i header-tagget vil blive erstattet af det, der sendes i Jade-skabelonen.

Applikationskoden, der gengiver det, følger.

Annoteret Express-kodeindstilling af Jade View Engine og renderingsindeks

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() {});

Code Forklaring:

  1. Det første, du skal angive i applikationen, er den "view engine", der skal bruges til at gengive skabelonerne. Da vi skal bruge Jade til at gengive vores skabeloner, specificerer vi dette i overensstemmelse hermed.
  2. Gengivelsesfunktionen bruges til at gengive en webside. I vores eksempel gengiver vi skabelonen (index.jade), som blev oprettet tidligere.
  3. Vi videregiver værdierne fra "Guru99” og “Velkommen” til parametrene henholdsvis “title” og “message”. Disse værdier vil blive erstattet af parametrene 'title' og 'message', der er deklareret i index.jade-skabelonen.

Hvis kommandoen udføres med succes, vil følgende output blive vist, når du kører din kode i browseren.

Output:

Browsergengivelse af Jade-skabelonen med titel Guru99 og overskrift Velkommen

Fra udgangen,

  • Vi kan se, at sidens titel bliver sat til "Guru99”, og sidens overskrift indstilles til “Velkommen”.
  • Dette skyldes Jade-skabelonen, som kaldes i vores Node.js-applikation.

Ofte Stillede Spørgsmål

middleware Funktionerne modtager req, res og next og kører derefter i registreringsrækkefølge. De håndterer logning, body parsing, autentificering og fejl, og hver af dem skal afslutte svaret eller kalde next().

Nej. Express samler parserne, så express.json() og express.urlencoded() erstatter de separate krop-parser afhængighed. Den kombinerede bodyParser()-hjælper blev fjernet, og req.body forbliver udefineret, indtil en parser kører.

Express 5 gjorde handlere promise-aware, fjernede app.del() og res.sendfile(), opgraderede stimatchning, så jokertegn skal bruge navne som /*splat, og satte urlencoded extended til false som standard.

På Express 5 sendes et afvist løfte automatisk videre til den fejlhåndterende middleware, så manuelle next(err)-kald forsvinder. Express 4 kræver en eksplicit try/catch inden for hver asynkron kommando. ring tilbage.

MopsJade blev omdøbt af varemærkemæssige årsager, og jade-pakken er udfaset. Eksisterende skabeloner fortsætter med at virke efter omdøbning til .pug og ændring af visningsmotor.

Node.js 24 er den aktive LTS-linje i 2026, mens Node.js 22 forbliver under vedligeholdelse, så installere en af ​​dem. Express 5 kræver Node.js 18 eller nyere.

Maskinlæringsscannere læser rutedefinitioner og middleware-rækkefølge og markerer derefter manglende godkendelse og uvalidering. JavaScript input og tilladelige CORS-regler. En menneskelig korrekturlæser bekræfter stadig alle fund.

GitHub Copilot og lignende agentassistenter genererer rutefiler, valideringsmiddleware og controller-stubs fra én kort prompt. Hver genereret rute skal stadig test før frigivelse.

Opsummer dette indlæg med: