გზამკვლევი და Middleware ექსპრესში

Routing და Middleware არის ორი მნიშვნელოვანი კონცეფცია Node.js-ში და Express Framework ვებ აპლიკაციების შესაქმნელად.

მარშრუტიზაცია:

  • მარშრუტიზაცია არის პროცესი, რომელიც განსაზღვრავს, თუ როგორ უნდა დამუშავდეს კლიენტის მოთხოვნები და უპასუხოს სერვერზე შესაბამისი რესურსებით.
  • Express-ში ჩვენ შეგვიძლია განვსაზღვროთ მარშრუტები HTTP მეთოდის (GET, POST, PUT, DELETE და ა.შ.) და შესაბამისი URL ბილიკის მითითებით.
  • თითოეულ მარშრუტს შეიძლება ჰქონდეს ერთი ან მეტი დამმუშავებლის ფუნქცია ისეთი ამოცანების შესასრულებლად, როგორიცაა მოთხოვნის დამუშავება, მონაცემთა ბაზაში წვდომა და კლიენტისთვის პასუხების გაგზავნა.

Middleware:

  • Middleware არის ფუნქციები, რომლებიც შესრულებულია თანმიმდევრობით, სანამ მოთხოვნა მიაღწევს მარშრუტის საბოლოო დამმუშავებელს.
  • ისინი გამოიყენება საერთო ფუნქციების შესასრულებლად და შუალედური ამოცანების შესასრულებლად, როგორიცაა ავთენტიფიკაცია, აღრიცხვა, შეცდომების დამუშავება და ა.შ.
  • Middleware შეიძლება გამოყენებულ იქნას მთელ აპლიკაციაზე ან მითითებული იყოს კონკრეტული მარშრუტებისთვის.
  • თითოეული შუა პროგრამა იღებს req (მოთხოვნა) და res (პასუხი) პარამეტრებს და შეუძლია შეასრულოს დამუშავება, გადასცეს მოთხოვნა მომდევნო შუა პროგრამაზე ან დაასრულოს დამუშავება კლიენტისთვის პასუხის გაგზავნით.

მარშრუტიზაციისა და 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...');
});

ამ მაგალითში, ჩვენ განვსაზღვრეთ მორგებული შუა პროგრამა loggerMiddlewareსერვერზე მოსული ყოველი ახალი მოთხოვნის შესვლისთვის. ეს შუა პროგრამა გამოიყენება მთელ აპლიკაციაზე app.use()მეთოდის გამოყენებით. შემდეგ, ჩვენ განვსაზღვრეთ ორი მარშრუტი, ერთი მთავარი გვერდისთვის ( '/') და მეორე შესახებ გვერდისთვის ( '/about'). საბოლოოდ, ჩვენ ვიწყებთ სერვერს და ვუსმენთ პორტ 3000-ს.

შუა პროგრამა loggerMiddlewareშესრულდება ყოველი მოთხოვნისთვის, შეიტანება შეტყობინება კონსოლში, სანამ მოთხოვნას გადასცემს შესაბამის მარშრუტის დამმუშავებელს ან შუა პროგრამას თანმიმდევრობით.

მარშრუტიზაციისა და შუა პროგრამების ეს კომბინაცია საშუალებას გვაძლევს გავუმკლავდეთ სხვადასხვა მოთხოვნებს და შევასრულოთ საერთო ამოცანები ეფექტურად Express აპლიკაციაში.