Node.js – First Application

Node.js – First Application

Before creating an actual "Hello, World!" application using Node.js, let us see the components of a Node.js application. A Node.js application consists of the following three important components −

  • Import required modules − We use the require directive to load Node.js modules.
  • Create server − A server which will listen to client's requests similar to Apache HTTP Server.
  • Read request and return response − The server created in an earlier step will read the HTTP request made by the client which can be a browser or a console and return the response.

    Creating Node.js Application

    Step 1 - Import Required Module

    We use the require directive to load the http module and store the returned HTTP instance into an http variable as follows −

    var http = require("http");

    Step 2 - Create Server

    We use the created http instance and call http.createServer() method to create a server instance and then we bind it at port 3000 using the listen method associated with the server instance. Pass it a function with parameters request and response. Write the sample implementation to always return "Hello World".

    var http = require("http");
    http.createServer(function (req, res){
    // Send the HTTP header
    // HTTP Status: 200 : OK
    // Content Type: text/plain
    res.writeHead(200, {'Content-Type': 'text/plain'});
    // Send the response body as "hello this is node tutorial"
    res.end("hello this is node tutorialn")
    }).listen(3000,console.log("sertver is listening at port no 3000"))

    The above code is enough to create an HTTP server which listens, i.e., waits for a request over 300 port on the local machine.

    Step 3 - Testing Request & Response

    Let's put step 1 and 2 together in a file called app.js and start our HTTP server as shown below −

    var http = require("http");
    http.createServer(function (req, res){
    // Send the HTTP header
    // HTTP Status: 200 : OK
    // Content Type: text/plain
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end("hello this is node tutorialn")
    }).listen(3000,console.log("Server running at http://127.0.0.1:3000/"))

    Now execute the app.js to start the server as follows −

    node app.js

    Verify the Output. Server has started.

    Server running at http://127.0.0.1:3000/

    Make a Request to the Node.js Server

    Open http://127.0.0.1:3000/ in any browser and observe the following result.
    Congratulations, you have your first HTTP server up and running which is responding to all the HTTP requests at port 3000.

Node.js – Environment Setup (Prev Lesson)
(Next Lesson) Node.js – REPL Terminal