Lesson 1: Introduction

Node.js is an open source server environment.

Node.js allows you to run JavaScript on the server.

Example

var http = require('http');

http.createServer(function (req, res) {

res.writeHead(200, {'Content-Type': 'text/plain'});

res.end('Hello World!');

}).listen(8080);

When this happens, The "Show Node.js" tool will show the result in a black screen on the right:

  • console.log('This example is different!');

  • console.log('The result is displayed in the Command Line Interface');

What is Node.js?

  • Node.js is an open source server environment

  • Node.js is free

  • Node.js runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)

  • Node.js uses JavaScript on the server

Why Node.js?

A common task for a web server can be to open a file on the server and return the content to the client.

Here is how PHP or ASP handles a file request:

  1. Sends the task to the computer's file system.

  2. Waits while the file system opens and reads the file.

  3. Returns the content to the client.

  4. Ready to handle the next request.

Here is how Node.js handles a file request:

  1. Sends the task to the computer's file system.

  2. Ready to handle the next request.

  3. When the file system has opened and read the file, the server returns the content to the client.

Node.js eliminates the waiting, and simply continues with the next request.

Node.js runs single-threaded, non-blocking, asynchronously programming, which is very memory efficient.

What Can Node.js Do?

  • Node.js can generate dynamic page content

  • Node.js can create, open, read, write, delete, and close files on the server

  • Node.js can collect form data

  • Node.js can add, delete, modify data in your database


What is a Node.js File?

  • Node.js files contain tasks that will be executed on certain events

  • A typical event is someone trying to access a port on the server

  • Node.js files must be initiated on the server before having any effect

  • Node.js files have extension ".js"

Download Node.js

The official Node.js website has installation instructions for Node.js: https://nodejs.org

Once you have downloaded and installed Node.js on your computer, let's try to display "Hello World" in a web browser.

Create a Node.js file named "myfirst.js", and add the following code:


var http = require('http');

http.createServer(function (req, res) {

res.writeHead(200, {'Content-Type': 'text/html'});

res.end('Hello World!');

}).listen(8080);

Save the file on your computer: C:\Users\Your Name\myfirst.js

The code tells the computer to write "Hello World!" if anyone (e.g. a web browser) tries to access your computer on port 8080.

For now, you do not have to understand the code. It will be explained later.

Command Line Interface

Node.js files must be initiated in the "Command Line Interface" program of your computer.

How to open the command line interface on your computer depends on the operating system. For Windows users, press the start button and look for "Command Prompt", or simply write "cmd" in the search field.

Navigate to the folder that contains the file "myfirst.js", the command line interface window should look something like this:

Initiate the Node.js File

The file you have just created must be initiated by Node.js before any action can take place.

Start your command line interface, write node myfirst.js and hit enter:

Initiate "myfirst.js":

C:\Users\Your Name>node myfirst.js

Now, your computer works as a server!

If anyone tries to access your computer on port 8080, they will get a "Hello World!" message in return!

Start your internet browser, and type in the address: http://localhost:8080