2015-12-30 1 views
0

Comment puis-je exiger tous les fichiers dans un répertoire?

Je dois exiger tous les fichiers d'un répertoire et envoyer une variable avec lui. J'aime: require(file)(app). J'ai essayé require-dir mais je ne peux pas savoir comment envoyer la pièce (app) avec elle.Comment exiger() tous les fichiers dans un répertoire et envoyer des arguments

+0

S'il vous plaît montrer ou décrire plus sur ce que vous essayez d'accomplir. Habituellement, faire un 'require()' assigne le module à un nom de variable connu afin qu'il puisse être référencé dans un autre code. Le code source du module require-dir est ici https://github.com/aseemk/requireDir/blob/master/index.js pour que vous puissiez le saisir et le modifier en fonction de vos besoins. Ou vous pouvez simplement faire une liste de noms de modules et une boucle pour parcourir le tableau en les chargeant. Je ne sais pas quelle partie de ce problème vous ne savez pas comment faire vous-même. – jfriend00

+0

Je n'ai pas besoin d'un nom de variable, je veux simplement 'require()' un tas de fichiers pour pouvoir mettre des choses comme 'routes' dans un fichier différent. Les 'routes' ont besoin de la variable' app' pour fonctionner, donc je fais 'require (./ routes.js) (app);'. Mais je ne veux pas exiger tous les fichiers manuellement, je veux que cela se fasse automatiquement. – g3mini

+0

Veuillez ajouter cette information supplémentaire à votre question (utilisez le lien d'édition pour l'ajouter) afin que votre question décrive mieux ce que vous essayez d'accomplir. – jfriend00

Répondre

4

Si vous souhaitez continuer à utiliser require-dir, essayez ceci:

var dir = requireDir('./path/to/dir'); 
for (var key in dir) { 
    dir[key](app); 
} 

Alternativement, vous pouvez simplement utiliser fs:

require('fs').readdirSync('./yourdir').forEach(function(file) { 
    require('./yourdir/' + file)(app); 
});