Middleware (Middleware Intro)
Middleware: واسطهای Express.js 🔧
Middleware توابعی هستن که بین request و response اجرا میشن. این برای logging، authentication، parsing و... استفاده میشه!
const express = require('express');
const app = express();
// Middleware ساده
app.use((req, res, next) => {
console.log('Request:', req.method, req.url);
next(); // ادامه به middleware بعدی
});
// Route handler
app.get('/', (req, res) => {
res.send('Home');
});
Built-in Middleware:
const express = require('express');
const app = express();
// JSON parser
app.use(express.json());
// URL encoded parser
app.use(express.urlencoded({ extended: true }));
// Static files
app.use(express.static('public'));
// Route
app.post('/api/users', (req, res) => {
// req.body حالا parse شده است
console.log(req.body);
res.json({ success: true });
});
Middleware Order:
const express = require('express');
const app = express();
// 1. این اول اجرا میشه
app.use((req, res, next) => {
console.log('First middleware');
next();
});
// 2. این دوم اجرا میشه
app.use((req, res, next) => {
console.log('Second middleware');
next();
});
// 3. Route handler
app.get('/', (req, res) => {
res.send('Home');
});
💡 نکته: ترتیب middleware خیلی مهمه! اونها به ترتیب تعریف اجرا میشن!
✅ یاد گرفتید: Middleware برای modularity و code reuse عالیه!
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
تمرین: ساخت Middleware
Medium
سوال تمرین
🎯 تمرین: Logger Middleware
یک middleware بسازید که method و path هر request رو log کنه.
پاسخ تمرین
JAVASCRIPT
const express = require('express');
const app = express();
const logger = (req, res, next) => {
console.log(`${req.method} ${req.path}`);
next();
};
app.use(logger);
app.get('/', (req, res) => {
res.send('Hello');
});
app.listen(3000);
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.