توجه إلى 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 التطبيق.