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
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')();
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();