Skip to content
Related Articles

Related Articles

Node.js | Modules
  • Last Updated : 25 Jun, 2020

In Node.js, Modules are the blocks of encapsulated code that communicates with an external application on the basis of their related functionality. Modules can be a single file or a collection of multiples files/folders. The reason programmers are heavily reliant on modules is because of their re-usability as well as the ability to break down a complex piece of code into manageable chunks.

Modules are of three types:

  • Core Modules
  • local Modules
  • Third-party Modules

Core Modules: Node.js has many built-in modules that are part of the platform and comes with Node.js installation. These modules can be loaded into the program by using the require function.

Syntax:

var module = require('module_name');

The require() function will return a JavaScript type depending on what the particular module returns. The following example demonstrates how to use the Node.js Http module to create a web server.






var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Welcome to this page!');
  res.end();
}).listen(3000);

In the above example, the require() function returns an object because the Http module returns its functionality as an object. The function http.createServer() method will be executed when someone tries to access the computer on port 3000. The res.writeHead() method is the status code where 200 means it is OK, while the second argument is an object containing the response headers.

The following list contains some of the important core modules in Node.js:

Core ModulesDescription
httpcreates an HTTP server in Node.js.
assertset of assertion functions useful for testing.
fsused to handle file system.
pathincludes methods to deal with file paths.
processprovides information and control about the current Node.js process.
osprovides information about the operating system.
querystringutility used for parsing and formatting URL query strings.
urlmodule provides utilities for URL resolution and parsing.

Local Modules: Unlike built-in and external modules, local modules are created locally in your Node.js application. Let’s create a simple calculating module that calculates various operations. Create a calc.js file that has the following code:

Filename: calc.js




exports.add = function (x, y) { 
    return x + y; 
}; 
    
exports.sub = function (x, y) { 
    return x - y; 
}; 
    
exports.mult = function (x, y) { 
    return x * y; 
}; 
    
exports.div = function (x, y) { 
    return x / y; 
};

Since this file provides attributes to the outer world via exports, another file can use its exported functionality using the require() function.

Filename: index.js




var calculator = require('./calc'); 
    
var x = 50, y = 20; 
    
console.log("Addition of 50 and 10 is "
                   + calculator.add(x, y)); 
    
console.log("Subtraction of 50 and 10 is "
                   + calculator.sub(x, y)); 
    
console.log("Multiplication of 50 and 10 is "
                   + calculator.mult(x, y)); 
    
console.log("Division of 50 and 10 is " 
                   + calculator.div(x, y)); 

Step to run this program: Run index.js file using the following command:

node index.js

Output:

Addition of 50 and 10 is 60
Subtraction of 50 and 10 is 40
Multiplication of 50 and 10 is 500
Division of 50 and 10 is 5

Note: This module also hides functionality that is not needed outside of the module.

Third-party modules: Third-party modules are modules that are available online using the Node Package Manager(NPM). These modules can be installed in the project folder or globally. Some of the popular third-party modules are mongoose, express, angular, and react.

Example:

  • npm install express
  • npm install mongoose
  • npm install -g @angular/cli
My Personal Notes arrow_drop_up