@mlagie/bulkloader
v3.0.1
Published
Le module bulkloader permet de charger dynamiquement tous les modules d'un répertoire donné et de leur passer des arguments spécifiques. Cela est particulièrement utile pour initialiser plusieurs modules avec des configurations ou des dépendances communes
Downloads
18
Maintainers
Readme
Bulkloader
Auteur
Documentation du Module bulkloader
Le module bulkloader permet de charger dynamiquement tous les modules d'un répertoire donné, y compris ceux dans les sous-répertoires, et de leur passer des arguments spécifiques. Cela est particulièrement utile pour initialiser plusieurs modules avec des configurations ou des dépendances communes.
Installation
npm i @mlagie/bulkloaderDéclaration
const bulkloader = require("@mlagie/bulkloader");Fonctionnalité
La fonction exportée par le module bulkloader prend plusieurs paramètres :
dirPath: Le chemin vers le répertoire contenant les modules à charger.args: Un tableau d'arguments à passer à chaque module chargé.recursive(optionnel) : Booléen pour activer le chargement récursif des sous-répertoires (par défautfalse).ignore(optionnel) : Un tableau de noms de fichiers ou dossiers à ignorer lors du chargement.
Utilisation
Exemple de structure de répertoire simple
project/
|
├── modules/
│ ├── module1.js
│ ├── module2.js
│ └── module3.js
│
└── index.jsExemple de code dans index.js
const bulkloader = require("@mlagie/bulkloader");
const client = require('client'); // Exemple de client
const app = require('app'); // Exemple d'application
// Charger tous les modules du répertoire 'modules' et leur passer les arguments
bulkloader('./modules', [client, app]);Exemple de structure de répertoire complexe
project/
|
├── modules/
| ├── submodules/
| | ├──submodules1.js
| | ├──submodules2.js
│ ├── module1.js
│ ├── module2.js
│ └── module3.js
│
└── index.jsIgnorer certains fichiers ou dossiers
Vous pouvez ignorer certains fichiers ou dossiers en passant un tableau en 4ème argument :
const bulkloader = require("@mlagie/bulkloader");
const client = require('client');
const app = require('app');
// Ignore le fichier 'module2.js' et le dossier 'submodules'
bulkloader('./modules', [client, app], true, ['module2.js', 'submodules']);Gestion des erreurs
Le module bulkloader inclut une gestion des erreurs pour :
- La lecture du répertoire : Si une erreur se produit lors de la lecture du répertoire, un message d'erreur est affiché.
- Le chargement des modules : Si une erreur se produit lors du chargement d'un module, un message d'erreur est affiché avec le chemin du module et le message d'erreur.
Conclusion
Le module bulkloader est un outil puissant pour charger dynamiquement des modules et leur passer des arguments spécifiques. En centralisant le chargement des modules et la gestion des erreurs, il simplifie la gestion et l'initialisation des modules dans votre application.
