ExpressIntermediate
Express Router
express.Router() দিয়ে modular route structure তৈরি — বাংলায়।
8টি অংশবাংলা ভাষায়
express.Router() দিয়ে আপনার routes-কে আলাদা আলাদা files-এ ভাগ করা যায় — বড় project-এ structure পরিষ্কার থাকে।
Router তৈরি
routes/users.jsjavascript
javascript
const express = require("express");
const router = express.Router();
// /api/users/
router.get("/", (req, res) => {
res.json([{ id: 1, name: "রহিম" }]);
});
// /api/users/:id
router.get("/:id", (req, res) => {
res.json({ id: req.params.id });
});
// /api/users/
router.post("/", (req, res) => {
res.status(201).json(req.body);
});
router.put("/:id", (req, res) => {
res.json({ id: req.params.id, ...req.body });
});
router.delete("/:id", (req, res) => {
res.json({ message: "deleted" });
});
module.exports = router;routes/posts.jsjavascript
javascript
const { Router } = require("express");
const router = Router();
router.get("/", (req, res) => res.json({ posts: [] }));
router.get("/:id", (req, res) => res.json({ postId: req.params.id }));
module.exports = router;index.js — সব router মাউন্টjavascript
javascript
const express = require("express");
const app = express();
const userRoutes = require("./routes/users");
const postRoutes = require("./routes/posts");
// মাউন্ট করা
app.use("/api/users", userRoutes);
app.use("/api/posts", postRoutes);
app.listen(3000);Router-level Middleware
const router = express.Router();
// এই router-এর শুধু সব route-এ apply হবে
router.use((req, res, next) => {
console.log("User routes hit:", req.originalUrl);
next();
});
// mergParams — parent & child params
const child = express.Router({ mergeParams: true });
child.get("/", (req, res) => {
res.json({ parentId: req.params.parentId });
});
app.use("/api/parents/:parentId/children", child);Benefit
Router-এর ব্যবহারে code modular হয়, প্রতিটি resource নিজের ফাইলে থাকে — debugging ও maintain করা সহজ।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।