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 Tutorial (Prev Lesson)
(Next Lesson) Node.js – REPL Terminal