Задать вопрос
Delias
@Delias

Nodejs существует ли автопоиск модуля в дереве поекта?

Подскажите, вот есть у меня модуль, который будет возвращать разные настройки для приложения. Вглядит примерно так:
var params = function(){
    var debugging = 0;

    return {
        debugging: debugging
    };
};

module.exports = params;

Но дело в том, что мне необходимо подключать этот модуль в файлах, которые находятся в разных папках (из других модулей), и поэтому приходится его вызывать из разных мест по разному:
var params = require('./app/params');
// or
var params = require('./params');

Нет ли способа вызывать подключение модуля с автопоиском по дереву папок, как это делает например npm?
Или в данном случае params не грешно и в GLOBAL закинуть?
  • Вопрос задан
  • 124 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Автопоиск не нужен, это представьте, ему что, все папки сканировать при каждом вызове что ли? При старте процесса запоминайте __dirname или process.cwd() и потом от него считайте. А вообще, конфиг должен считываться 1 раз при старте и нет ничего плохого, если Вы его запишете в глобальную область видимости: GLOBAL.config = require('config.js');
и из любого места программы будете обращаться как: config.debugging
Или можно его записать вовнутрь объекта, который у Вас уже глобальный, например: application.config = require('config.js');
И потом вообще красиво писать: application.config.debugging
Другими словами: USE THE GLOBAL LUKE
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы