يعد التوجيه والبرمجيات الوسيطة مفهومين مهمين في Node.js وإطار عمل Express لبناء تطبيقات الويب.
التوجيه:
- التوجيه هو عملية تحديد كيفية معالجة الطلبات من العميل والاستجابة بالموارد المقابلة على الخادم.
- في Express ، يمكننا تحديد المسارات عن طريق تحديد طريقة HTTP (GET و POST و PUT و DELETE وما إلى ذلك) ومسار URL المقابل.
- يمكن أن يحتوي كل مسار على وظيفة معالج واحدة أو أكثر لأداء مهام مثل معالجة الطلب والوصول إلى قاعدة البيانات وإرسال الردود إلى العميل.
الوسيطة:
- البرمجيات الوسيطة هي وظائف يتم تنفيذها في تسلسل قبل أن يصل الطلب إلى معالج المسار النهائي.
- يتم استخدامها لأداء الوظائف المشتركة والتعامل مع المهام الوسيطة مثل المصادقة والتسجيل ومعالجة الأخطاء وما إلى ذلك.
- يمكن تطبيق البرامج الوسيطة على التطبيق بأكمله أو تحديدها لمسارات محددة.
- تتلقى كل برمجية وسيطة المعلمات req (الطلب) و res (الاستجابة) ويمكنها إجراء المعالجة أو تمرير الطلب إلى البرنامج الوسيط التالي أو إنهاء المعالجة بإرسال استجابة إلى العميل.
مثال على الجمع بين التوجيه والبرمجيات الوسيطة في 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.