2015-12-30 7 views
0

Как мне потребовать все файлы в каталоге?

Мне нужно потребовать все файлы в каталоге и отправить переменную вместе с ней. Нравится: require(file)(app). Я пробовал require-dir, но я не могу понять, как отправить часть (app).Как потребовать() все файлы в каталоге и отправить аргументы

+0

Пожалуйста, покажите или описать больше о том, что вы пытаетесь достичь. Обычно выполнение 'require()' присваивает модуль известному имени переменной, поэтому на него можно ссылаться в другом коде. Исходный код модуля require-dir находится здесь https://github.com/aseemk/requireDir/blob/master/index.js, и вы можете просто его захватить и изменить его в соответствии с вашими потребностями. Или вы могли бы просто составить список имен модулей и цикл для циклического перехода через массив, загружающий их. Мне непонятно, какая часть этой проблемы вы не знаете, как себя вести. – jfriend00

+0

Мне не нужно имя переменной, я просто хочу 'require()' кучу файлов, чтобы я мог поместить такие вещи, как «маршруты» в другой файл. Для «маршрутов» нужна переменная 'app', поэтому я требую (./ routes.js) (app);'. Но я не хочу требовать каждый файл вручную, я хочу, чтобы это произошло автоматически. – g3mini

+0

Пожалуйста, добавьте эту дополнительную информацию в свой вопрос (используйте ссылку для редактирования, чтобы добавить ее), поэтому ваш вопрос лучше описывает то, что вы пытаетесь выполнить. – jfriend00

ответ

4

Если вы хотите продолжать использовать require-dir, попробуйте следующее:

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

В качестве альтернативы, вы можете просто использовать fs:

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

 Смежные вопросы

  • Нет связанных вопросов^_^