Давайте предположим, что у меня есть модуль, который подключается к базе данных с использованием некоторой конфигурации. Я не хочу передавать конфигурацию или загруженный модуль, я просто хочу инициализировать модуль database.js в моем основном модуле (здесь app.js), а затем иметь возможность использовать его в другом месте моего кода без инициализации или передачи конфигурация.
Мой вопрос: правильный ли этот подход в отношении того, что было сказано здесь в этой ссылке
Вот пример.
// database.js
const mongodb
let config = null;
exports.init = (conf) {
config = conf;
}
exports.getConnection = () {
const MongoClient = mongodb.MongoClient;
return new MongoClient(config.mongodb.url);
}
// app.js
const { init } = require('./database.js');
// load config ...
init(config);
// какой-то модуль в папке lib
const { getConnection } = require('../../database.js');
// do something with getConnection