
- Home
-
HTML
HTML Introduction HTML Tags HTML Elements HTML Attributes HTML Heading HTML Paragraph HTML Formatting HTML Quotations HTML Comments HTML Styles HTML Color HTML CSS HTML Images HTML Favicon HTML Links HTML DIV HTML Tables HTML Table Size HTML Table Head Table Padding & Spacing Table colspan rowspsn HTML Table Styling HTML Colgroup HTML List HTML Block & Inline HTML Classes HTML Id HTML Iframes HTML Head HTML Layout HTML Semantic Elements HTML Style Guide HTML Forms HTML Form Attribute HTML Form Element HTML input type HTML Computer code HTML Entity HTML Symbol HTML Emojis HTML Charset HTML Input Form Attribute HTML URL Encoding
-
CSS
CSS Introduction CSS Syntax CSS Selector How To Add CSS CSS Comments CSS Colors CSS Background color CSS background-image CSS Borders CSS Margins CSS Height, Width and Max-width CSS Box Model CSS Outline CSS Text CSS Fonts CSS Icon CSS Links CSS Tables CSS Display CSS Maximum Width CSS Position z-index Property
- JavaScript
-
JQuery
What is jQuery? Benefits of using jQuery Include jQuery Selectors. Methods. The $ symbol and shorthand. Selecting elements Getting and setting content Adding and removing elements Modifying CSS and classes Binding and Unbinding events Common events: click, hover, focus, blur, etc Event delegation Using .on() for dynamic content Showing and hiding elements Fading elements in and out Sliding elements up and down .animate() Understanding AJAX .ajax() .load(), .get(), .post() Handling responses and errors. Parent Chlid Siblings Filtering Elements Using find Selecting form elements Getting form values Setting form values Form validation Handling form submissions jQuery plugins Sliders plugins $.each() $.trim() $.extend() Data attributes Debugging jQuery code
-
Bootstrap 4
What is Bootstrap Benefits of using Setting up Container Row and Column Grid Classes Breakpoints Offsetting Columns Column Ordering Basic Typography Text Alignment Text colors Backgrounds Display Font Size Utilities Buttons Navs and Navbar Forms Cards Alerts Badges Progress Bars Margin Padding Sizing Flexbox Dropdowns Modals Tooltips Popovers Collapse Carousel Images Tables Jumbotron Media Object
- Git
-
PHP
PHP Introduction PHP Installation PHP Syntax PHP Comments PHP Variable PHP Echo PHP Data Types PHP Strings PHP Constant PHP Maths PHP Number PHP Operators PHP if else & if else if PHP Switch PHP Loops PHP Functions PHP Array PHP OOps PHP Class & Object PHP Constructor PHP Destructor PHP Access Modfiers PHP Inheritance PHP Final Keyword PHP Class Constant PHP Abstract Class PHP Superglobals PHP Regular Expression PHP Interfaces PHP Static Method PHP Static Properties PHP Namespace PHP Iterable PHP Form Introduction PHP Form Validation PHP Complete Form PHP Date and Time PHP Include Files PHP - Files & I/O File Upload PHP Cookies PHP SESSION PHP Filters PHP Callback Functions PHP JSON PHP AND Exceptions PHP Connect database
-
MY SQL
SQL Introduction Syntax Select statement Select Distinct WHERE Clause Order By SQL AND Operator SQL OR Operator SQL NOT Operator SQL LIKE SQL IN SQL BETWEEN SQL INSERT INTO SQL NULL Values SQL UPDATE SQL DELETE SQL TOP, LIMIT, FETCH FIRST or ROWNUM Clause SQL MIN() and MAX() Functions SQL COUNT() Function SQL SUM() SQL AVG() SQL Aliases SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL Self Join SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY and ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL Functions SQL Stored Procedures SQL Comments SQL Operators SQL CREATE DATABASE SQL DROP DATABASE SQL BACKUP DATABASE SQL CREATE TABLE SQL DROP TABLE SQL ALTER TABLE SQL Constraints SQL NOT NULL SQL UNIQUE Constraint SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK Constraint SQL CREATE INDEX SQL AUTO INCREMENT SQL Dates SQL Views SQL Injection SQL Hosting SQL Data Types
What are Modules?
In Node.js, modules are reusable blocks of code that encapsulate related functionality. They allow you to structure your application by dividing it into separate, maintainable, and reusable components. Modules in Node.js can be libraries, frameworks, or your own custom pieces of code.
Types of Modules in Node.js
-
Core Modules:
- These are modules that are included with Node.js itself.
- Examples include
fs
(for file system operations),http
(for creating HTTP servers), andpath
(for working with file and directory paths). - You can use them without installing any additional packages.
-
Local Modules:
- These are custom modules that you create within your application.
- You define the functionality in one file and can reuse it in other files.
-
Third-Party Modules:
- These are modules created by the community and available for installation via npm (Node Package Manager).
- Examples include
express
(for building web applications),lodash
(for utility functions), andmongoose
(for interacting with MongoDB).
Creating and Using Modules
1. Core Module Example
Let's start with using a core module, fs
:
// Importing the 'fs' core module
const fs = require('fs');
// Using 'fs' to read a file
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});
Explanation:
- The
fs
module is used here to read the content of a file namedexample.txt
. require('fs')
loads the core module.- The
readFile
method asynchronously reads the file, and the content is printed to the console.
2. Local Module Example
Suppose you have a file mathOperations.js
:
// mathOperations.js
function add(a, b) {
return a + b;
}
function multiply(a, b) {
return a * b;
}
// Export the functions so they can be used in other files
module.exports = {
add,
multiply,
};
You can use this module in another file, app.js
:
// app.js
const math = require('./mathOperations');
console.log(math.add(5, 3)); // Output: 8
console.log(math.multiply(5, 3)); // Output: 15
Explanation:
- In
mathOperations.js
, two functions (add
andmultiply
) are defined and exported usingmodule.exports
. - In
app.js
, you userequire('./mathOperations')
to import the module and access its functions.
3. Third-Party Module Example
Let's use the popular third-party module lodash
:
- First, install the module using npm:
npm install lodash
- Then, you can use it in your code:
const _ = require('lodash');
// Example of using lodash's 'chunk' function
const array = [1, 2, 3, 4, 5, 6];
const chunkedArray = _.chunk(array, 2);
console.log(chunkedArray); // Output: [[1, 2], [3, 4], [5, 6]]
Explanation:
lodash
provides many utility functions. In this example,_.chunk
splits an array into chunks of a specified size.
Exporting and Importing Modules
In Node.js, you use module.exports
to define what a module exports and require
to import it in another file.
Example:
// greet.js
module.exports = function(name) {
console.log('Hello, ' + name + '!');
};
// app.js
const greet = require('./greet');
greet('John'); // Output: Hello, John!
Explanation:
- In
greet.js
, a function is exported directly. - In
app.js
, this function is imported and used.
Module Caching
When a module is required for the first time, Node.js caches the result so that subsequent calls to require
the same module are faster. This means that changes to a module won't be reflected until the application is restarted.
Example:
// counter.js
let count = 0;
module.exports = {
increment: () => count++,
getCount: () => count,
};
// app.js
const counter = require('./counter');
counter.increment();
console.log(counter.getCount()); // Output: 1
counter.increment();
console.log(counter.getCount()); // Output: 2
Explanation:
- The
counter.js
module maintains a private state (count
), which is preserved across multiple imports due to caching.
Conclusion
Modules in Node.js allow you to create a more organized and maintainable codebase by dividing your application into smaller, reusable components. Whether you are using core modules, creating your own, or leveraging third-party libraries, understanding how to work with modules is fundamental to Node.js development.
At Online Learner, we're on a mission to ignite a passion for learning and empower individuals to reach their full potential. Founded by a team of dedicated educators and industry experts, our platform is designed to provide accessible and engaging educational resources for learners of all ages and backgrounds.
Copyright 2023-2025 © All rights reserved.