Routing და middleware არის ორი მნიშვნელოვანი კონცეფცია Node.js-ში და Express ვებ აპლიკაციების შესაქმნელად.
Routing:
- Routing არის პროცესი, რომელიც განსაზღვრავს, თუ როგორ უნდა დამუშავდეს კლიენტის მოთხოვნები და უპასუხოს სერვერზე შესაბამისი რესურსებით.
- In 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.