Οδηγός για Routing και Middleware μέσα Express

Routing και middleware είναι δύο σημαντικές έννοιες στο Node.js και το Express πλαίσιο για τη δημιουργία διαδικτυακών εφαρμογών.

Routing:

  • Routing είναι η διαδικασία καθορισμού του τρόπου χειρισμού αιτημάτων από τον πελάτη και απάντησης με αντίστοιχους πόρους στον διακομιστή.
  • Στο Express, μπορούμε να ορίσουμε διαδρομές καθορίζοντας τη μέθοδο HTTP(GET, POST, PUT, DELETE, κ.λπ.) και την αντίστοιχη διαδρομή URL.
  • Κάθε διαδρομή μπορεί να έχει μία ή περισσότερες λειτουργίες χειριστή για την εκτέλεση εργασιών όπως η επεξεργασία αιτημάτων, η πρόσβαση στη βάση δεδομένων και η αποστολή απαντήσεων στον πελάτη.

Middleware:

  • Middleware είναι συναρτήσεις που εκτελούνται με μια σειρά πριν το αίτημα φτάσει στον τελικό χειριστή διαδρομής.
  • Χρησιμοποιούνται για την εκτέλεση κοινών λειτουργιών και τον χειρισμό ενδιάμεσων εργασιών όπως έλεγχος ταυτότητας, καταγραφή, διαχείριση σφαλμάτων κ.λπ.
  • Middleware μπορεί να εφαρμοστεί σε ολόκληρη την εφαρμογή ή να καθοριστεί για συγκεκριμένες διαδρομές.
  • Κάθε ένα middleware λαμβάνει τις παραμέτρους req(αίτημα) και res(απόκριση) και μπορεί να εκτελέσει επεξεργασία, να περάσει το αίτημα στον επόμενο middleware ή να τερματίσει την επεξεργασία στέλνοντας μια απάντηση στον πελάτη.

Παράδειγμα συνδυασμού Routing και Middleware σε Express:

const express = require('express');  
const app = express();  
  
// Middleware
const loggerMiddleware =(req, res, next) => {  
  console.log('A new request has arrived!');  
  next();  
};  
  
// Apply middleware to the entire application  
app.use(loggerMiddleware);  
  
// Main route  
app.get('/',(req, res) => {  
  res.send('Welcome to the homepage!');  
});  
  
// Another route  
app.get('/about',(req, res) => {  
  res.send('This is the about page!');  
});  
  
// Start the server  
app.listen(3000,() => {  
  console.log('Server is listening on port 3000...');  
});  

Σε αυτό το παράδειγμα, έχουμε ορίσει μια προσαρμογή για την καταγραφή κάθε νέου αιτήματος που έρχεται στον διακομιστή. Αυτό εφαρμόζεται σε ολόκληρη την εφαρμογή χρησιμοποιώντας τη μέθοδο. Στη συνέχεια, έχουμε ορίσει δύο διαδρομές, μία για την κύρια σελίδα( ) και άλλη για τη σελίδα σχετικά( ). Τέλος, ξεκινάμε τον διακομιστή και ακούμε στη θύρα 3000. middleware loggerMiddleware middleware app.use() '/' '/about'

Θα εκτελείται για κάθε αίτημα, καταγράφοντας ένα μήνυμα στην κονσόλα πριν διαβιβαστεί το αίτημα στον αντίστοιχο χειριστή διαδρομής ή με τη σειρά. middleware loggerMiddleware middleware

Αυτός ο συνδυασμός routing και middleware μας επιτρέπει να χειριζόμαστε διαφορετικά αιτήματα και να εκτελούμε κοινές εργασίες αποτελεσματικά σε μια Express εφαρμογή.