# Custom modules
In Node.js kunnen custom modules worden gemaakt om code te organiseren en herbruikbaarheid te bevorderen. Een custom module is een JavaScript-bestand waarin je functionaliteit definieert en die je vervolgens kunt gebruiken in andere delen van je applicatie.
# Aanmaken van custom modules
Schrijf je gewenste functionaliteit in een JavaScript-bestand, bijvoorbeeld mijnModule.js.
mijnModule.js
function greetings(name) {
console.log(`Hallo, ${name}!`);
}
2
3
geometryModule.js
// geometryModule.js
const PI = Math.PI;
function calculateCircleArea(radius) {
return PI * radius * radius;
}
function calculateRectangleArea(length, width) {
return length * width;
}
// Using module.exports to make functions available
module.exports = {
calculateCircleArea,
calculateRectangleArea,
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Exporteren van je module
Gebruik module.exports of exports om aan te geven welke delen van je module beschikbaar moeten zijn voor andere bestanden.
# module.exports
Gebruik module.exports wanneer je de volledige module wilt vervangen door éen enkele waarde of object.
mijnModule.js
function greetings(name) {
console.log(`Hallo, ${name}!`);
}
module.exports = greetings;
2
3
4
5
geometryModule.js
// geometryModule.js
const PI = Math.PI;
function calculateCircleArea(radius) {
return PI * radius * radius;
}
function calculateRectangleArea(length, width) {
return length * width;
}
// Module.exports gebruiken om functies beschikbaar te maken
module.exports = {
calculateCircleArea,
calculateRectangleArea,
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# exports
exports is een kortere notatie voor module.exports en wordt vaak gebruikt wanneer je meerdere dingen aan de module wilt toevoegen.
mijnModule.js
exports.greetings = function (name) {
console.log(`Hallo, ${name}!`);
};
exports.farewell = function (name) {
console.log(`Vaarwel, ${name}!`);
};
2
3
4
5
6
7
geometryModule.js
exports.calculateCircleArea = function (radius) {
return PI * radius * radius;
};
exports.calculateRectangleArea = function (length, width) {
return length * width;
};
2
3
4
5
6
7
# Module importeren
In een ander JavaScript-bestand kun je de gemaakte module importeren en gebruiken.
app.js
// app.js
const begroet = require("./mijnModule");
begroet("John");
// Output: Hallo, John!
2
3
4
5
main.js
// app.js
const geometryModule = require("./geometryModule");
const circleArea = geometryModule.calculateCircleArea(5);
const rectangleArea = geometryModule.calculateRectangleArea(4, 6);
console.log("Oppervlakte van de cirkel:", circleArea);
console.log("Oppervlakte van de rechthoek:", rectangleArea);
2
3
4
5
6
7
8
In bovenstaand voorbeeld is geometryModule gelijk aan een object. Dit wil zeggen dat we code kunnen inkorten door de functies te destructuren uit de module.
// app.js
const {
calculateCircleArea,
calculateRectangleArea,
} = require("./geometryModule");
console.log("Oppervlakte van de cirkel:", calculateCircleArea(5));
console.log("Oppervlakte van de rechthoek:", calculateRectangleArea(4, 6));
2
3
4
5
6
7
8