Getting Started With Node.js and Express

Love ReactJs? Check out how NextJs uses React and Express for easy server side rendering.


Node makes it extremely easy for developers to spin up a local server for web development. This tutorial uses the Express middleware framework to create a bare bone web app running on a local Node server

Steps

This tutorial assumes you are starting from scratch. It includes:

  • 1. Installing Node.js
  • 2. Creating a Node.js project
  • 3. Adding the Express.js module
  • 4. Launching the app

Installing Node.js

The first step will be installing the Node.js framework on your machine. Visit the official node.js and download the appropriate version for you.

Follow the installation wizard. Once complete, run the following:

node --version

If Node has been successfully installed, you should see something like:

v4.2.3

Creating a Node.js project

Using the command line, navigate to your home directory and create a new folder called ‘myproject’:

cd ~
mkdir myproject cd myproject

Now that you have an empty folder, you are ready to initialize a new node.js project. Every Node.js project requires a package.json file at it’s root. This file defines meta data related information (author, description) as well as dependencies for the project.

While you can simply create a package.json file yourself, node’s package manager (npm) makes this even easier. Simply run:

npm init

You will be prompted to enter information such as author, description for the project. Once complete, you will now see the generated package.json file in your project’s root directory.

Open your new package.json file and have a look. You will see a “main” attribute, which should point to an index.js file. This is the main script your server will run on initialization.

To create this main script file, run:

touch index.js

Adding the Express.js module

In order for the real web development to begin, you need to set up a web server for your project. While you could use node’s https module to build out basic routes, the Express framework makes running a web server even easier. Express is part of the popular MEAN stack, and allows for simplified routing. It’s easily configurable. Open your index.js file in your favorite text editor, and paste:

//Require Express module
const express = require('express');
//Define port for local web server
let port = 5000;
//Initialize your express app
const app = express();
//Create simple get route for the index of your app
app.get('/', function(req,res){
res.send('Hello World');
})
//Listen on the defined port
app.listen(port, function(){
console.log('Listening on port 5000')
})

This defines the initialization script for your Node.js app.

Launching the app

To launch the server, navigate to the root directory of your project and run:

node index

If all goes according to plan, you should see something like:

Listening on port 5000

Finally, check your browser at localhost:5000 and you should see ‘Hello World!’

Congratulations! You are now up and running. In just a few short steps, you have a web server running on Node!

Your thoughts?