Si të filloni me Node.js dhe Express


Prezantimi

Express është një kornizë aplikimi në internet për Node.js që ju lejon të rrotulloni API-të dhe serverët e uebit të fuqishëm në një mënyrë shumë më të lehtë dhe më të pastër. Është një paketë e lehtë që nuk errëson veçoritë kryesore të Node.js.

Në këtë artikull, ju do të instaloni dhe përdorni Express për të ndërtuar një server në internet.

Parakushtet

Nëse dëshironi të ndiqni këtë artikull, do t'ju duhet:

  • Një mjedis zhvillimi lokal për Node.js. Ndiqni Si të instaloni Node.js dhe të krijoni një mjedis zhvillimi lokal.

Ky udhëzues u verifikua me Node v15.14.0, npm v7.10.0, express v4.17.1 dhe serve-index v1.9.1.

Hapi 1 - Vendosja e projektit

Së pari, hapni dritaren e terminalit tuaj dhe krijoni një drejtori të re të projektit:

  1. mkdir express-example

Pastaj, lundroni në drejtorinë e krijuar rishtazi:

  1. cd express-example

Në këtë pikë, mund të inicializoni një projekt të ri npm:

  1. npm init -y

Më pas, do t'ju duhet të instaloni paketën express:

  1. npm install express@4.17.1

Në këtë pikë, ju keni një projekt të ri gati për të përdorur Express.

Hapi 2 - Krijimi i një serveri Express

Tani që Express është instaluar, krijoni një skedar të ri server.js dhe hapeni atë me redaktuesin tuaj të kodit. Pastaj shtoni linjat e mëposhtme të kodit:

const express = require('express');

const app = express();

Rreshti i parë këtu është rrëmbimi i modulit kryesor Express nga paketa që keni instaluar. Ky modul është një funksion, të cilin më pas e ekzekutojmë në rreshtin e dytë për të krijuar ndryshoren tonë app. Në këtë mënyrë mund të krijoni shumë aplikacione, secili me kërkesat dhe përgjigjet e veta.

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.send('Successful response.');
});

Këto rreshta kodi janë vendi ku ne i tregojmë serverit tonë Express se si të trajtojë një kërkesë GET për serverin tonë. Express përfshin funksione të ngjashme për POST, PUT, etj. duke përdorur app.post(...), app.put(. ..), etj.

Këto funksione marrin dy parametra kryesorë. E para është URL-ja ku duhet të veprojë ky funksion. Në këtë rast, ne synojmë /, që është rrënja e faqes sonë të internetit: në këtë rast, localhost:3000.

Parametri i dytë është një funksion me dy argumente: req dhe res. req përfaqëson kërkesën që i është dërguar serverit; Ne mund ta përdorim këtë objekt për të lexuar të dhëna për atë që klienti kërkon të bëjë. res përfaqëson përgjigjen që ne do t'i dërgojmë klientit.

Këtu, ne po thërrasim një funksion në res për të dërguar një përgjigje: Përgjigje e suksesshme..

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.send('Successful response.');
});

app.listen(3000, () => console.log('Example app is listening on port 3000.'));

Më në fund, pasi të kemi vendosur kërkesat tona, duhet të nisim serverin tonë! Ne po kalojmë 3000 në funksionin dëgjo, i cili i tregon aplikacionit se në cilën port duhet të dëgjojë. Funksioni i kaluar si parametër i dytë është opsional dhe funksionon kur serveri niset. Kjo na jep disa reagime në tastierë për të ditur që aplikacioni ynë po funksionon.

Rivizitoni dritaren tuaj të terminalit dhe ekzekutoni aplikacionin tuaj:

  1. node server.js

Më pas, vizitoni localhost:3000 në shfletuesin tuaj të internetit. Dritarja e shfletuesit tuaj do të shfaqë: Përgjigje e suksesshme. Dritarja juaj e terminalit do të shfaqet: Shembulli i aplikacionit po dëgjon në portin 3000..

Dhe ja ku e kemi atë, një server në internet! Megjithatë, ne patjetër duam t'i dërgojmë klientit më shumë se vetëm një rresht të vetëm teksti. Le të mbulojmë shkurtimisht se çfarë është programi i mesëm dhe si ta konfigurojmë këtë server si një server skedari statik!

Hapi 3 - Përdorimi i Middleware

Me Express, ne mund të shkruajmë dhe përdorim funksionet middleware, të cilat kanë akses në të gjitha kërkesat HTTP që vijnë në server. Këto funksione mund të:

  • Ekzekutoni çdo kod.
  • Bëni ndryshime në kërkesë dhe në objektet e përgjigjes.
  • Mbaro ciklin kërkesë-përgjigje.
  • Thirrni funksionin tjetër të programit të mesëm në pirg.

Ne mund të shkruajmë funksionet tona të mesme ose të përdorim programin e mesëm të palëve të treta duke i importuar ato në të njëjtën mënyrë që do të bënim me çdo paketë tjetër.

Le të fillojmë duke shkruar programin tonë të mesëm, më pas do të përpiqemi të përdorim disa softuer të mesëm ekzistues për të shërbyer skedarë statikë.

Për të përcaktuar një funksion të ndërmjetëm, ne thërrasim app.use() dhe ia kalojmë një funksion. Këtu është një funksion bazë i programit të mesëm për të printuar kohën aktuale në tastierë gjatë çdo kërkese:

const express = require('express');

const app = express();

app.use((req, res, next) => {
  console.log('Time: ', Date.now());
  next();
});

app.get('/', (req, res) => {
  res.send('Successful response.');
});

app.listen(3000, () => console.log('Example app is listening on port 3000.'));

Thirrja next() i thotë programit të mesëm që të shkojë në funksionin tjetër të mesëm nëse ka një të tillë. Kjo është e rëndësishme të përfshihet në fund të funksionit tonë - përndryshe, kërkesa do të ngecë në këtë program ndërmjetës.

Mund të kalojmë në mënyrë opsionale një shteg drejt programit të mesëm, i cili do të trajtojë vetëm kërkesat për atë rrugë. Për shembull:

const express = require('express');

const app = express();

app.use((req, res, next) => {
  console.log('Time: ', Date.now());
  next();
});

app.use('/request-type', (req, res, next) => {
  console.log('Request type: ', req.method);
  next();
});

app.get('/', (req, res) => {
  res.send('Successful response.');
});

app.listen(3000, () => console.log('Example app is listening on port 3000.'));

Duke kaluar /request-type si argumentin e parë te app.use(), ky funksion do të funksionojë vetëm për kërkesat e dërguara te localhost:3000/request-type .

Rivizitoni dritaren tuaj të terminalit dhe ekzekutoni aplikacionin tuaj:

  1. node server.js

Më pas, vizitoni localhost:3000/request-type në shfletuesin tuaj të internetit. Dritarja juaj e terminalit do të shfaqë vulën kohore të kërkesës dhe Lloji i kërkesës: GET.

Tani, le të përpiqemi të përdorim programin e mesëm ekzistues për të shërbyer skedarë statikë. Express vjen me një funksion të integruar të softuerit të mesëm: serve-index, për të shfaqur një listë indeksi të skedarëve tanë.

Së pari, brenda të njëjtës dosje ku ndodhet serveri ekspres, krijoni një drejtori të quajtur public dhe vendosni disa skedarë aty.

Më pas, instaloni paketën serve-index:

  1. npm install serve-index@1.9.1

Së pari, importoni paketën serve-index në krye të skedarit të serverit.

Më pas, përfshini programet e mesme express.static dhe serveIndex dhe tregojuni atyre rrugën për të hyrë dhe emrin e drejtorisë:

const express = require('express');
const serveIndex = require('serve-index');

const app = express();

app.use((req, res, next) => {
  console.log('Time: ', Date.now());
  next();
});

app.use('/request-type', (req, res, next) => {
  console.log('Request type: ', req.method);
  next();
});

app.use('/public', express.static('public'));
app.use('/public', serveIndex('public'));

app.get('/', (req, res) => {
  res.send('Successful response.');
});

app.listen(3000, () => console.log('Example app is listening on port 3000.'));

Tani, rinisni serverin tuaj dhe lundroni te localhost:3000/public. Do t'ju paraqitet një listë e të gjithë skedarëve tuaj!

konkluzioni

Në këtë artikull, ju keni instaluar dhe përdorur Express për të ndërtuar një server në internet. Ju keni përdorur gjithashtu funksione të integruara dhe të ndërmjetme të palëve të treta.

Vazhdoni të mësoni me Si të Përcaktoni Rrugët dhe Metodat e Kërkesës HTTP në Express.