Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the use of var app = express(); in the process of creating a Node.Js Application?

I am new to the world of Node.js.I am trying to learn through an example.I have encountered the following statements in the "app.js" .

  var express = require("express");----->1
  var app = express(); --------->2 

So I understand the first statement is to load express module .What is the need for second statement??

Inorder to load a MYSQL module in my app.js we use

 var mysql = require("MYSQL");

We access SQL properties by mysql.connect("") etc.

so why cannot we write "express.get()" instead of "app.get()"????

Why do we need var express = require("express");??

Any help would be highly appreciated.

like image 751
RisTe Avatar asked Mar 10 '16 20:03

RisTe


Video Answer


2 Answers

express is a module that can be used to create more than one application.

var ex = require('express')

puts this module into the variable ex. Once you have a reference to the module, you can use it to create application. Each module has its own API. According to the expressjs documentation - http://expressjs.com/en/4x/api.html, the module is in fact a function that can be used to create applications

var app1 = ex();
var app2 = ex();

you could for example want to have several web applications listening on different ports.

If you only want one application (but it would be less readable) you could write

var app = require('express')();
like image 131
Jerome WAGNER Avatar answered Nov 03 '22 15:11

Jerome WAGNER


The real difference between require('express') and express() is that require('express') allows you to have access to any public functions or properties exposed by module.exports.

The express() syntax is the equivalent of saying new express(). It creates a new instance of express that you can then assign to a variable and interact with.

That is why the standard creation pattern for Express is

// Import the Express module
var express = require('express');

// Create a new Express Instance
var app = express();
like image 37
peteb Avatar answered Nov 03 '22 13:11

peteb