Требуется жасминовый узел * - PullRequest
1 голос
/ 27 февраля 2012

В моем Jasmine-Node spec_helper у меня есть require("../app/test"), и он отлично вытягивает этот файл test. Но если я попытаюсь require("../app/*"), я получу Error: Cannot find module '../app/*'.

Есть ли способ получить все файлы / подкаталоги каталога, как этот?

1 Ответ

2 голосов
/ 27 февраля 2012

Есть несколько способов выполнить то, что вы хотите, самый простой из них - создать index.js в вашем каталоге ./app. Это index.js в свою очередь будет ссылаться на все модули в этом каталоге и экспортировать их:

exports.foo = require("./foo");
exports.bar = require("./bar");

Если вы хотите сделать это динамически, вам придется написать код:

var fs = require("fs");

fs.readdir("./app", function(err, files) {
    if(err) console.error(err);
    for(var i = 0, len = files.length; i < len; i++) {
        require("./app/" + files[i]);
    }
});

Для получения дополнительной информации о том, как узел загружает модули, вот соответствующие документы и о папках, в частности, модулях .

К сожалению, ответ Джеда здесь неправильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...