Day 20 – Express Js Introduction - Learning Node JS In 30 Days [Mini series]
Tags: node, javascript, codenewbie
Published: 2019-12-23 18:39:26

##Today we're going to learn about express js.

We can start using checking the official document of express js - https://expressjs.com/

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/nadwsam6c3luf7ubtaa5.png)

We are going to use express mostly for 3 reasons
- Easy routing system
- Can use with many templating system
- Have a middleware framework

We can start with the routing. Before express we write a long code to create a server, but with express it's pretty easy. See the old code

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/1e47mbnot6u9kx2wls1y.png)

Now we are going to write the same old code using express.

First we need to `require express` then create an app constant using `express()`

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/vbhmyi0qxk6cgdo5q2t6.png)

Now we can write app.listen(3000) to listen 3000 port.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/w4wkylo660ntictrstek.png)

We can write the routes now. Like homepage -

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/zo23dtul9fdojltaghjo.png)

Now our code is more readable and easy to add any route

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/e8zse1ndr8w0tx2rl7dd.png)

###So you like the introduction of express js ?

You can see the graphical version here
{% instagram B6bNAyBAvOG %}

Originally it published on [nerdjfpbblog](https://blog.nerdjfpb.com/day20-nodejsin30days/). You can connect with me in [twitter](https://twitter.com/nerdjfpb) or [linkedin](https://www.linkedin.com/in/nerdjfpb/) !


###__You can read the old posts from this series (below)__

{% post nerdjfpb/day-1-learning-node-js-in-30-days-mini-series-55e7 %}

{% post nerdjfpb/day-2-learning-node-js-in-30-days-mini-series-5023 %}

{% post nerdjfpb/day-3-learning-node-js-in-30-days-mini-series-24i4 %}

{% post nerdjfpb/day-4-learning-node-js-in-30-days-mini-series-1koc %}

{% post nerdjfpb/day-5-learning-node-js-in-30-days-mini-series-21jm %}

{% post nerdjfpb/day-6-learning-node-js-in-30-days-mini-series-758 %}

{% post nerdjfpb/day-7-learning-node-js-in-30-days-mini-series-3023 %}

{% post nerdjfpb/day-8-var-vs-let-vs-const-learning-node-js-in-30-days-mini-series-1i72 %}

{% post nerdjfpb/day-9-mastering-eventemitter-learning-node-js-in-30-days-mini-series-2dfe %}

{% post nerdjfpb/day-10-mastering-eventemitter-learning-node-js-in-30-days-mini-series-2802 %}

{% post nerdjfpb/day-11-creating-and-deleting-folders-learning-node-js-in-30-days-mini-series-3a2d %}

{% post nerdjfpb/day-12-creating-own-server-learning-node-js-in-30-days-mini-series-3ef %}

{% post nerdjfpb/day-13-buffer-stream-learning-node-js-in-30-days-mini-series-5c5d %}

{% post nerdjfpb/day-14-serving-html-pages-learning-node-js-in-30-days-mini-series-2hl3 %}

{% post nerdjfpb/day-15-sending-json-to-client-learning-node-js-in-30-days-mini-series-21pc %}

{% post nerdjfpb/day-16-routing-basic-learning-node-js-in-30-days-mini-series-5hk6 %}

{% post nerdjfpb/day-17-npm-node-package-manager-learning-node-js-in-30-days-mini-series-1nek %}

{% post nerdjfpb/day-18-why-express-js-learning-node-js-in-30-days-mini-series-b5a %}

{% post nerdjfpb/day-19-nodemon-learning-node-js-in-30-days-mini-series-m39 %}