In this tutorial, we will learn about Middleware functions, which have access to the request object (req), the response object (res), and the next middleware function in the application's request-response cycle.
The next middleware function is commonly denoted by a variable named next.
In Express, we can use two types of middleware: application-level middleware and route-level middleware.
Application-Level Middleware
Let's start with application-level middleware. Open the index.js
file and add the middleware to the app:
App.use(function(req,res,next){
console.log('Time: ' , Date.now())
});
Save the changes and run the application. Switch to the command prompt and run the index.js
file:
node index.js
Now, go to the browser and navigate to the URL localhost:3000
. You should see the current date and time displayed, indicating that the application-level middleware is applied.
If you change the route to /about
or /contact
, you will still see the date and time displayed, demonstrating that the middleware is applied to the entire application.
Route-Level Middleware
Next, let's explore route-level middleware. Open the index.js
file and add the middleware to the about route:
app.get('/about', function (req, res, next) {
console.log('Time: ' , Date.now())
res.render('about');
});
Run the application again. Switch to the command prompt and re-run the index.js
file:
node index.js
Now, go to the browser and navigate to the URL /about
. You should see the date and time displayed. However, if you change the URL to /contact
, the date and time will not be displayed, demonstrating that the middleware is only applied to the about route.
This is how you can use middleware in Node.js.