Node.js has been the favorite of front end developers when it comes to server-side scripting. Well, why not, Node.js is a powerful language with extensive flexibility and is relatively easy to code. But Node.js developers were looking for something which can leverage its speed leading to the invention of Express.js. In this article on Node.js Express Tutorial, I will give complete insight into what is Express.js and it is used with Node.js.
Below are the topics that I will be discussing in this Node.js Express Tutorial:
- Introduction to Express.js
- Features of Express.js
- Getting Started with Express.js
- Routing Methods (GET, POST, PUT, DELETE)
Introduction to Express.js
Express.js is a web application framework that is built on top of Node.js. It helps in easy management of the flow of data between server and routes in the server-side applications. Under MIT License (Massachusetts Institute of Technology) it was released as an open sourced software and completely free to use for the public. Moreover, Express.js is extremely lightweight and provides utmost flexibility along with a long list of most intriguing features.
This is why Express.js has been known as the de facto standard server framework for Node.js since its development.
Express.js extended the horizon of the Node.js developers by providing them the much-needed back-end functionality. It allowed the developers to develop software with JavaScript that could be executed on the server side for the first time in the history of front end applications. In simpler terms, Express and Node both completed the picture. As Node.js facilitated the development of server-side applications while Express.js helped in publishing these applications on the website.
Let’s now look at some of the major features of Express.js which helped in gaining popularity across the market in the next section of this Node.js Express Tutorial article.
Features of Express.js
Below I have picked out a few of the most important features of Express.js:
- Makes web application development faster
- Helps in building mobile and web application of single-page, multi-page, and hybrid types
- Express provides two templating engines namely, Jade and EJS
- Express follows the Model-View-Controller (MVC) architecture
- Makes integration with databases such as MongoDB, Redis, MySQL
- Defines an error handling middleware
- Simplifies configuration and customization easy for the application.
With all the above-mentioned features, Express.js made code development in Node.js nothing but a piece of cake. That is why nowadays almost no Node.js application comes without Express.js in it.
Now, that you are quite familiar with Express.js and how it works with Node.js, let’s dive a little deeper into Node.js Express Tutorial and create a simple application using both.
Getting Started with Express.js
Before you start working with Express.js, first you need to install Express.js on your system. Let’s start off by understanding the basic components of a simple Express.js application. Below is the entry file of a simple application which just shows Welcome message on the designated URL.
//Importing express module const express = require('express') //Creating an express module object const app = express() //Creating Callback function and sending response app.get('/', (req, res) => res.send('Welcome to Edureka Demo!!!')) //Establish the server connection //PORT ENVIRONMENT VARIABLE const port = process.env.PORT || 8080; app.listen(port, () => console.log(`Listening on port ${port}..`));
As you can see, like any other javascript file, the very first step is to import the required package. Since, we are focussing on Express.js currently, you simply need to import the express module. Next, step is to create the express module object so that you can use it in your application. Once done, you need to create a call back function which will be invoked when the user will try to browse the root of the application that i.e. http://localhost:8080. This callback function will be then responding with the String that you have passed and display on the webpage.
In the callback function, the ‘res’ parameter is provided by the ‘request’ module to send the data back to the web page.
Finally, you need to assign the port for the server. In this example, I am creating an environment variable to assign the port at 8080. Finally, you need to make use of the listen to function in order to make the server application listen to client requests on the assigned port.
I hope now you got a hang of how to build up the basic structure. Let’s now proceed further and understand routing in Node.js express.js applications.
Routing Methods
Routing is the process of determining a specific behavior of the application. It basically defines how an application should respond to a client request to a particular route, path or URI along with a particular HTTP Request method.
Each route can contain more than one handler functions, which will be executed when the specific route is browsed by the user. Below is the structure of Route definition:
app.METHOD(PATH, HANDLER)
Here:
- app is an instance of express where you can use any variable.
- METHOD is an HTTP request method such as get, set, put, delete
- PATH is the route to the server for a specific webpage
- HANDLER is the callback function that is executed when the matching route is found.
There are basically four main HTTP methods that can be supplied in the request which helps in specifying the operation requested by the user. These methods are:
- GET
- POST
- PUT
- DELETE
Below I have provided a short description of each:
GET
The HTTP GET method helps in requesting for the representation of a specific resource by the client. The requests having GET just retrieves data and without causing any effect. Below is a small example of GET handler:
app.get('/', (req, res) => { res.send('Welcome to Edurekas Node.js Express Tutorial!!'); });
POST
The HTTP POST method helps in requesting the server to accept the data that is enclosed within the request as a new object of the resource as identified by the URI.
app.post('/api/books', (req, res)=> { //Method Body });
PUT
The HTTP PUT method helps in requesting the server to accept the data that is enclosed within the request as an alteration to the existing object which is identified by the provided URI. In case the data doesn’t exist, PUT will create a new one with the provided information.
app.put('/api/books/:id', (req, res) => { //method body });
DELETE
The HTTP DELETE method helps in requesting the server to delete a specific resource from the destination.
app.delete('/api/books/:id', (req, res) => { //method body });
For a complete demonstration on HTTP Methods with express.js, you can refer to my article on Node.js REST API. There I have provided an in-depth description of the HTTP Methods and REST API.
With this, we come to an end of this article on Node.js Express Tutorial. I tried to keep the concepts simple and crisp. Now, if you want to get into more details of Node.js, you can check out my article on Node.js Tutorial.
If you found this “Node.js Express Tutorial” relevant, check out the Node.js Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe.
Got a question for us? Please mention it in the comments section of this Node.js Express Tutorial and we will get back to you.