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