Open In App

Express.js app.router Property

Improve
Improve
Like Article
Like
Save
Share
Report

The Express.js app.router property was introduced in Express 4.  It helps us to create modular, mountable route handlers. It provides us with many features such as it extends this routing to handle validation, handle 404 or other errors, etc. It helps us to organize our file structure for our server-side programming.

What is the need to use express.Router?

It helps us to manage hundreds of routes that are created in a project on the server-side by dividing them into individual files. It helps in basic middleware routing and handling 404 errors. Using express.Router, the whole folder containing all the dependencies, files, routes etc is well-structured and is easy to understand for anyone.

Installation of the Express Module

After running npm init and creating a package.json file, it’s time to install our dependency i.e Express.

1. You can visit this link and download using the following command:

npm install express --save

2. After installing express, you can check your express version in the command prompt using the following command:

npm version express

3. After installation of the required dependency, create an app.js file using the terminal. In order to run this file, you need to execute the following:

node app.js

Project Directory: After creating app.js, create a separate folder named routes as shown below:

This will be the project structure after the creation and installation of the files and packages. Inside of routes, there will be two files as shown below:

Filename: app.js

Javascript




// Requiring module
const express = require('express');
  
// Creating express object
const app=express();
  
// Middlewares
app.use(require('./routes/introduction.js'));
app.use(require('./routes/computer.js'));
  
// Server setup
app.listen(3000, function() { 
   console.log('Server listening on port 3000'); 
});


We have required the two files that we have created inside routes i.e computer.js and introduction.js inside our app.js file by using the following code:

// Syntax
app.use(require('Filepath'))

// Implementation
app.use(require('./routes/introduction.js'));
app.use(require('./routes/computer.js'));

Filename: introduction.js

Javascript




// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/introduction', (req,res) => {
  console.log('Opening introduction.js');
  res.send('Welcome to geeksforgeeks!');
});
  
// Exporting router object
module.exports = router;


Filename: computer.js

Javascript




// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/computer', (req,res) => {
  console.log('Opening computer.js');
  res.send('This is a computer science portal');
});
  
// Exporting router object
module.exports = router;


Run the app.js file using the following command:

node app.js

Output:

Server listening on port 3000

Now open the browser and go to http://localhost:3000/introduction and http://localhost:3000/computer, Then you will see the following output on your terminal screen:

Server listening on port 3000
Opening introduction.js
Opening computer.js

Working: Both the routes have been opened in the browser, so console.log() printed the following statements on successfully opening the routes. On the browser, both the routes will show different outputs as shown below:

For http://localhost:3000/introduction following output will be shown:

Welcome to geeksforgeeks!

For http://localhost:3000/computer following output will be shown:

This is a computer science portal


Last Updated : 30 Nov, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads