module.exports
is an object in Node.js that is used to define what a module exports.
When you write a module in Node.js, it can expose various functionalities, such as functions, objects, or data, to other modules that require it. module.exports
is how you define what should be exposed by your module to the outside world.
For example:
// math.js
function add(a, b) {
return a + b;
}
module.exports = add;
In this example, module.exports
is used to export the add
function. When another module requires math.js
, it will be able to access the add
function by using require
.
module.exports
can also be assigned directly to an object, allowing you to export multiple functions or data:
// utils.js
module.exports = {
add: function(a, b) {
return a + b;
},
subtract: function(a, b) {
return a - b;
}
};
In this case, both the add
and subtract
functions are exported as properties of the object assigned to module.exports
.
The functions can be called from another file like in the following example:
// In index.js
var add = require('./math.js');
var utils = require('./utils.js');
console.log(add(2,3)); // Output: 5
console.log(utils.subtract(5,2)); // Output: 3
Check an online example on Replit
In summary, module.exports
is a way to expose the functionality of a module to other modules in Node.js.