Node.js Modules - GeeksforGeeks (2024)

Last Updated : 31 May, 2024

Summarize

Comments

Improve

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

We will discuss the different types of Node.js Modules:

Table of Content

  • Core Modules
  • Local Modules
  • Third-party modules

Core Modules

Node.js has many built-in modules that are part of the platform and come with Node.js installation. These modules can be loaded into the program by using the required function.

Syntax:

const 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.

JavaScript
const 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:

JavaScript
// Filename: calc.jsexports.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.

javascript
// Filename: index.jsconst calculator = require('./calc');let x = 50, y = 10;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 the index.js file using the following command:

node index.js

Output:

Addition of 50 and 10 is 60Subtraction of 50 and 10 is 40Multiplication of 50 and 10 is 500Division 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

Example: Installing and Using Express

npm install express

Create a Simple Express Server:

JavaScript
const express = require('express');const app = express();const port = 3000;app.get('/', (req, res) => { res.send('Hello World!');});app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`);});

Run the Server:

node server.js

When you navigate to http://localhost:3000 in your browser, you should see Hello World!.



Please Login to comment...

Node.js Modules - GeeksforGeeks (2024)
Top Articles
THE TYRANNY OF TOXIC MANAGERS: AN EMOTIONAL INTELLIGENCE APPROACH TO DEALING WITH DIFFICULT PERSONALITIES - Ivey Business Journal
Acceptable and Unacceptable Behaviour | Human Resources
What Are Romance Scams and How to Avoid Them
Zitobox 5000 Free Coins 2023
Wild Smile Stapleton
What happens if I deposit a bounced check?
Was sind ACH-Routingnummern? | Stripe
Red Heeler Dog Breed Info, Pictures, Facts, Puppy Price & FAQs
Kaomoji Border
Nalley Tartar Sauce
Craiglist Galveston
Hell's Kitchen Valley Center Photos Menu
Bcbs Prefix List Phone Numbers
Sam's Club La Habra Gas Prices
Spectrum Field Tech Salary
Pekin Soccer Tournament
Qual o significado log out?
Food Universe Near Me Circular
Yog-Sothoth
Drug Test 35765N
Rubber Ducks Akron Score
Imouto Wa Gal Kawaii - Episode 2
Craigslist Lake Charles
Mineral Wells Skyward
Drying Cloths At A Hammam Crossword Clue
Bolsa Feels Bad For Sancho's Loss.
Booknet.com Contract Marriage 2
Ascensionpress Com Login
Section 408 Allegiant Stadium
Delete Verizon Cloud
Mini-Mental State Examination (MMSE) – Strokengine
Sf Bay Area Craigslist Com
Where Can I Cash A Huntington National Bank Check
Microsoftlicentiespecialist.nl - Microcenter - ICT voor het MKB
Moses Lake Rv Show
Craigslist Com Humboldt
Mydocbill.com/Mr
Mars Petcare 2037 American Italian Way Columbia Sc
sacramento for sale by owner "boats" - craigslist
Valls family wants to build a hotel near Versailles Restaurant
Craigslist Houses For Rent Little River Sc
St Anthony Hospital Crown Point Visiting Hours
Crigslist Tucson
Premiumbukkake Tour
Wood River, IL Homes for Sale & Real Estate
Bismarck Mandan Mugshots
Acuity Eye Group - La Quinta Photos
53 Atms Near Me
Cryptoquote Solver For Today
Divisadero Florist
Dinargurus
Kindlerso
Latest Posts
Article information

Author: Wyatt Volkman LLD

Last Updated:

Views: 5850

Rating: 4.6 / 5 (46 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Wyatt Volkman LLD

Birthday: 1992-02-16

Address: Suite 851 78549 Lubowitz Well, Wardside, TX 98080-8615

Phone: +67618977178100

Job: Manufacturing Director

Hobby: Running, Mountaineering, Inline skating, Writing, Baton twirling, Computer programming, Stone skipping

Introduction: My name is Wyatt Volkman LLD, I am a handsome, rich, comfortable, lively, zealous, graceful, gifted person who loves writing and wants to share my knowledge and understanding with you.