PROJECT PHASE 2 (EXPRESS ROUTER)
EXPRESS ROUTERS ARE A WAY TO ORGANIZE YOUR EXPRESS APPLICATIONS SUCH THAT IT DOESNOT BECOME BLOATED. IT IS NOT NECESSARY TO USE EXPRESS ROUTER, BUT IT IS CONSIDERED AS A GOOD PRACTICE.
IT REDUCES THE SIZE OF THE FILE BY CREATING A NEW ROUTE.
HERE WE CREATE A NEW FOLDER CLASSROOM AND A FILE server.js IN IT.HERE WE CREATE SEVERAL ROUTES FOR POSTS AND USERS TO UNDERSTAND BLOATING AND REDUCE IT.
const express = require("express");
const app = express();
// HOME ROUTE-POSTS
app.get("/", (req, res) => {
res.send("I am root!");
});
// POSTS ROUTE
app.get("/posts", (req, res) => {
res.send("GET FOR POSTS");
});
// POSTS id ROUTE
app.get("/posts/:id", (req, res) => {
res.send("GET FOR POSTS ID");
});
// new POSTS ROUTE
app.post("/posts/new", (req, res) => {
res.send("POST FOR NEW POSTS");
});
// DELETE POSTS ROUTE
app.delete("/posts/:id/delete", (req, res) => {
res.send("DELETE FOR POSTS");
});
// USERS ROUTE
app.get("/users", (req, res) => {
res.send("GET FOR USERS");
});
// USERSE id ROUTE
app.get("/users/:id", (req, res) => {
res.send("GET FOR USERS ID");
});
// new USER ROUTE
app.post("/users/new", (req, res) => {
res.send("POST FOR NEW USERS");
});
// DELETE USERS ROUTE
app.delete("/users/:id/delete", (req, res) => {
res.send("DELETE FOR USERS");
});
app.listen(3000, () => {
console.log("listening to port 3000");
});
HERE A NEW FOLDER routes IS CREATED. IN WHICH A SEPERATE FILE FOR BOTH POSTS AND USERS ROUTES ARE CREATED AND THEY ARE REQUIRED BY A SINGLE LINE OF CODE.
SERVER.JS
const express = require("express");
const app = express();
const users = require("./routes/users");
const posts = require("./routes/posts");
// HOME ROUTE-POSTS
app.get("/", (req, res) => {
res.send("I am root!");
});
app.use("/users", users); //IT MEANS THAT ROUTES COMING FROM users START WITH TAG /users
app.use("/posts", posts);
app.listen(3000, () => {
console.log("listening to port 3000");
});
USERS.JS
const express = require("express");
const router = express.Router();
HERE WE DIDN'T INCLUDE /users IN THE ROUTES AS WE MENTIONED app.use("/users", users); IN THE SERVER.JS
// users route
router.get("/", (req, res) => {
res.send("GET for users");
});
// USERSE id ROUTE
router.get("/:id", (req, res) => {
res.send("GET FOR USERS ID");
});
// new USER ROUTE
router.post("/new", (req, res) => {
res.send("POST FOR NEW USERS");
});
// DELETE USERS ROUTE
router.delete("/:id/delete", (req, res) => {
res.send("DELETE FOR USERS");
});
module.exports=router;
POSTS.JS
const express = require("express");
const router = express.Router();
HERE WE DIDN'T INCLUDE /posts IN THE ROUTES AS WE MENTIONED app.use("/posts", posts);
IN THE SERVER.JS
// POSTS ROUTE
router.get("/", (req, res) => {
res.send("GET FOR POSTS");
});
// POSTS id ROUTE
router.get("/:id", (req, res) => {
res.send("GET FOR POSTS ID");
});
// new POSTS ROUTE
router.post("/new", (req, res) => {
res.send("POST FOR NEW POSTS");
});
// DELETE POSTS ROUTE
router.delete("/:id/delete", (req, res) => {
res.send("DELETE FOR POSTS");
});
module.exports=router;






Comments
Post a Comment