Exporter une fonction de calcul
Objectif : Créer un module local qui calcule le total d’une commande à partir des montants de ses lignes.
Quand vous suivez des commandes, vous devez pouvoir calculer leur total sans recopier la même addition à plusieurs endroits. Dans cette leçon, vous créez un module dédié à ce calcul. Il reçoit des montants déjà disponibles et renvoie leur somme, sans dépendance et sans modifier les fichiers existants.
Vous avez déjà configuré le projet pour utiliser les modules ES dans `package.json`, comme expliqué dans « Initialiser un projet Node.js sans dépendance ». Le fichier `src/serveur.js` reste donc inchangé et continue de fonctionner. Pour l’instant, vous créez seulement le module de calcul : son import dans le script principal sera traité dans la leçon suivante.
Créer le module de calcul
Créez le fichier `src/calculer-total.js`. Son nom décrit son rôle et respecte la convention du projet : des mots en minuscules séparés par des tirets. La fonction `calculerTotal` recevra un tableau de montants numériques, par exemple les montants associés aux différentes lignes d’une commande, et renverra un seul nombre.
export function calculerTotal(montants) {
let total = 0;
for (const montant of montants) {
total += montant;
}
return total;
}La fonction commence avec un total égal à zéro, puis parcourt les valeurs reçues. À chaque passage, elle ajoute le montant courant au total ; une fois le parcours terminé, `return` renvoie le résultat à la partie du programme qui appellera la fonction. Par exemple, avec les montants 12, 8 et 5, le résultat renvoyé est 25.
Rendre la fonction réutilisable
Le mot-clé `export` rend la fonction disponible aux autres modules du projet. Ici, vous utilisez un export nommé : le module expose explicitement la fonction sous le nom `calculerTotal`. Le fichier ne réalise pas de calcul au moment où il est chargé ; il définit la fonction afin qu’un autre fichier puisse l’appeler lorsqu’il en aura besoin.
Cette séparation garde le calcul indépendant du terminal, des fichiers et du serveur. Vous pourrez donc l’appeler depuis le script principal sans recopier sa boucle. Pour cette leçon, ne modifiez pas `src/serveur.js` et n’ajoutez ni lecture de données ni affichage automatique dans le module : l’étape suivante montrera comment importer la fonction et l’utiliser depuis le script principal.
Vérifier l’état du projet
Enregistrez le nouveau fichier, puis vérifiez que le projet contient bien `package.json`, `src/serveur.js` et `src/calculer-total.js`. Vous pouvez toujours lancer le script principal depuis la racine avec `node src/serveur.js` ou avec la commande déjà définie dans le projet. Le nouveau module ne produit aucune sortie à lui seul : c’est normal, car il fournit une fonction sans l’appeler.
À retenir
- Créez `src/calculer-total.js` pour isoler la fonction de calcul.
- Un export nommé rend `calculerTotal` accessible à d’autres modules ES.
- La fonction additionne les montants reçus et renvoie le total.
- Le module de calcul n’affiche rien et ne lit aucun fichier.
Dans la prochaine leçon, vous importerez cette fonction dans `src/serveur.js` et l’utiliserez avec des montants de démonstration.