ExpressJS অ্যাপ্লিকেশনে Router একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। এটি অ্যাপ্লিকেশনের রাউটিং এবং এর স্ট্রাকচার সহজে পরিচালনা করতে সহায়তা করে। Router ব্যবহার করে আপনি অ্যাপ্লিকেশনের বিভিন্ন URL রাউট এবং তাদের জন্য নির্দিষ্ট হ্যান্ডলারগুলি আলাদা করে তৈরি করতে পারেন, যা অ্যাপ্লিকেশনটিকে আরও মডুলার এবং সুসংগঠিত করে তোলে।
Express Router এর ভূমিকা
১. রাউটিং ম্যানেজমেন্ট সহজতর করা
Express অ্যাপ্লিকেশনে বিভিন্ন HTTP মেথড (GET, POST, PUT, DELETE ইত্যাদি) এর জন্য URL পাথের সাথে মিলে গিয়ে কাজ করার জন্য রাউটার ব্যবহৃত হয়। Router এমন একটি কনসেপ্ট যা আপনার অ্যাপ্লিকেশনের রাউটগুলোকে আলাদা করে পরিচালনা করতে সহায়তা করে।
২. মডুলার কোডিং
Router ব্যবহারের মাধ্যমে, অ্যাপ্লিকেশনকে ছোট ছোট অংশে ভাগ করা যায়। প্রতিটি রাউট একটি পৃথক ফাইল বা মডিউলে রাখা যেতে পারে, যা অ্যাপ্লিকেশনটির মেইন ফাইলটি (যেমন app.js) পরিষ্কার এবং সুসংগঠিত রাখে।
৩. মিডলওয়্যার ব্যবহারের সুবিধা
Express Router ব্যবহার করার মাধ্যমে, আপনি একাধিক রাউটের জন্য সাধারণ মিডলওয়্যার প্রয়োগ করতে পারেন। যেমন, কিছু রাউটে লগিং, অথেনটিকেশন, ভ্যালিডেশন ইত্যাদি প্রক্রিয়া প্রয়োগ করা যেতে পারে।
Express Router কিভাবে কাজ করে?
ExpressJS-এ Router হল একটি অবজেক্ট, যা বিভিন্ন HTTP রাউট (GET, POST, PUT, DELETE ইত্যাদি) তৈরি করতে ব্যবহৃত হয়। এটি একটি মডিউল হিসেবে কাজ করে এবং অ্যাপ্লিকেশনের বিভিন্ন রাউট নিয়ে কাজ করতে ব্যবহৃত হয়।
Express Router ব্যবহার করার ধাপগুলো
১. Router তৈরি করা
ExpressJS-এ একটি Router তৈরি করতে, আপনাকে প্রথমে express.Router() ব্যবহার করতে হবে। এরপর, রাউটারটি বিভিন্ন HTTP রিকোয়েস্টের জন্য রাউট তৈরি করবে।
const express = require('express');
const router = express.Router();
// GET রাউট
router.get('/', (req, res) => {
res.send('Welcome to the Home Page!');
});
// POST রাউট
router.post('/submit', (req, res) => {
res.send('Form submitted');
});
// PUT রাউট
router.put('/update', (req, res) => {
res.send('Data updated');
});
// DELETE রাউট
router.delete('/delete', (req, res) => {
res.send('Data deleted');
});
module.exports = router;
২. Router ব্যবহার করা
এখন, এই রাউটটি আপনার মূল Express অ্যাপ্লিকেশনে ব্যবহার করতে হবে। app.js বা আপনার মূল ফাইলে রাউটারটি ইমপোর্ট করে app.use() এর মাধ্যমে এটি যুক্ত করতে হবে।
const express = require('express');
const app = express();
const port = 3000;
// Router ইমপোর্ট করা
const indexRouter = require('./routes/index');
// রাউটারের ব্যবহার
app.use('/', indexRouter);
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
এখন, indexRouter এর মধ্যে যে রাউটগুলো আপনি ডিফাইন করেছেন তা / পাথে ব্যবহৃত হবে।
Express Router এর সুবিধা
১. মডুলার কোডিং
Router ব্যবহার করলে কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি বৃদ্ধি পায়। আপনি রাউটগুলিকে বিভিন্ন ফাইল বা ফোল্ডারে ভাগ করতে পারবেন এবং অ্যাপ্লিকেশনের বড় অংশগুলোকে ছোট ছোট অংশে ভাগ করে রাখতে পারবেন।
২. সহজ রাউটিং
Express Router এর মাধ্যমে একটি অ্যাপ্লিকেশনের অনেক রাউট সহজে পরিচালিত করা যায়। যখন অ্যাপ্লিকেশন বড় হয়, তখন একাধিক রাউটকে একসাথে ম্যানেজ করা সহজ হয়ে যায়।
৩. মিডলওয়্যার প্রয়োগ
Router এর মধ্যে মিডলওয়্যার ব্যবহারের সুবিধা রয়েছে। উদাহরণস্বরূপ, আপনি কেবলমাত্র কিছু রাউটে লগিং বা অথেনটিকেশন মিডলওয়্যার প্রয়োগ করতে পারবেন।
// রাউটারের উপর মিডলওয়্যার প্রয়োগ
router.use((req, res, next) => {
console.log('Time:', Date.now());
next();
});
এটি সমস্ত রাউটের জন্য একটি মিডলওয়্যার যুক্ত করবে যা প্রতিটি রিকোয়েস্টের লগ করবে।
৪. ভিন্ন ভিন্ন রাউটের জন্য আলাদা ফাইল
Router এর মাধ্যমে আপনি প্রতিটি রাউটের জন্য আলাদা আলাদা ফাইল তৈরি করতে পারেন, যা অ্যাপ্লিকেশনকে সুসংগঠিত রাখতে সহায়তা করে। যেমন:
routes/
├── index.js
├── users.js
└── products.js
এছাড়া, আপনি রাউটগুলোকে নির্দিষ্ট অংশে ভাগ করতে পারেন (যেমন ইউজার রাউট, প্রোডাক্ট রাউট)।
সারাংশ
ExpressJS এর Router অ্যাপ্লিকেশন রাউটিং এবং মডুলার কোডিংয়ের জন্য একটি অত্যন্ত শক্তিশালী টুল। এটি অ্যাপ্লিকেশনের রাউটগুলোকে পৃথকভাবে পরিচালনা করতে এবং মিডলওয়্যার প্রয়োগ করতে সহায়তা করে। Express Router ব্যবহার করলে আপনার অ্যাপ্লিকেশনটি আরও পরিষ্কার, সুসংগঠিত এবং মেইনটেইনেবল হয়ে ওঠে, বিশেষ করে বড় অ্যাপ্লিকেশনে।
Read more