- Export a function in another file
- We can achieve export by using the object called module
- The object module has a property called exports which contains what you want to export out of the module
Exporting Single Functions
add.js
function add(a,b){
return a+b;
}
module.exports = add;
first.js
var addFn = require('./add.js');
function greet(name){
console.log("Hello there "+name)
}
greet("Tyson");
console.log(addFn(10,20));
Output :

Exporting Multiple Functions
Version 1 : Quick method
add.js
function add(a,b){
return a+b;
}
function sub(a,b){
return a-b;
}
module.exports = {
add,
sub
};
/* Note above is the shorthand for
module.exports = {
addFunction : add,
subFunction : sub
};
*/
first.js
var operatorsObject = require('./add.js');
function greet(name){
console.log("Hello there "+name)
}
greet("Tyson");
console.log(operatorsObject.add(10,20));
console.log(operatorsObject.sub(10,20));

Version 2 : Recommended method
add.js
function add(a,b){
return a+b;
}
function sub(a,b){
return a-b;
}
module.exports.add = add;
module.exports.sub = sub;
first.js
var operatorsObject = require('./add.js');
function greet(name){
console.log("Hello there "+name)
}
greet("Tyson");
console.log(operatorsObject.add(10,20));
console.log(operatorsObject.sub(10,20));

Version 3 : Recommended method with a shorthand
- module.exports was added the above example.
- but we can shorthand it to export only
- it works because node js has some declaration at some level something like
var exports = module.exports
add.js
function add(a,b){
return a+b;
}
function sub(a,b){
return a-b;
}
exports.add = add;
exports.sub = sub;
first.js
var operatorsObject = require('./add.js');
function greet(name){
console.log("Hello there "+name)
}
greet("Tyson");
console.log(operatorsObject.add(10,20));
console.log(operatorsObject.sub(10,20));
