Итак, я нахожусь в процессе разделения моего экспресс-приложения на модули, и у меня есть вопрос.
В настоящее время мой app.js содержит:
var db = module.exports.db = require('./helpers/db')(app.set('database'))
и файлы моделей содержат:
var DB = require('../app').db;
После прочтения Это кажется, что одним из способов структурирования модулей было бы экспортировать приложение и требовать приложение изнутри модуля, а затем потребовать, чтобы этот модуль находился прямо в будущем.
Это означало бы, что в моем db.js мне потребуется require ('../ app'), а в моих моделях db = require ('db').
В настоящее время db.js возвращает новый экземпляр подключения mysql:
module.exports = function(settings) {
return new MysqlDB(settings);
}
Неправильно ли я полагать, что удаление module.exports.db из app.js и требование наличия файла db.js непосредственно в каждой модели приведет к созданию нескольких экземпляров соединения?
Я написал это немного смущенно, поэтому, пожалуйста, дайте мне знать, где я могу улучшить вопрос. Любые советы приветствуются , я действительно хочу лучше понять все это.
спасибо!