У меня есть запущенный и подключенный экземпляр базы данных, сохраненный в переменной с именем db.Я хочу получить доступ к свойствам и методам указанного объекта в нескольких файлах.
При использовании классического решения, основанного на шаблонах модулей, для экспорта объекта db и необходимости модуля, я получаю сообщения об ошибках, поскольку мой экземпляр основного сервера также создается в том же файле.Из-за логистики объект db должен находиться в том же файле, в котором настраивается экземпляр сервера.
например,
server.js
const jsonServer = require("json-server");
const path = require("path");
const source = path.join(__dirname, "db.json");
const router = jsonServer.router(source, {
foreignKeySuffix: "_id"
});
const db = router.db;
server.use(router);
server.listen(3001, "0.0.0.0", () => {
console.log("JSON Server is running");
});
exports.db = db;
module.exports = server;
fileThatNeedsDbInstance.js
const db = require("./server.js").db;
db.doSomething();
Это приводит к возникновению ошибок, так как при импорте файла из модуля также выполняется код внутри, что приводит к тому, что узел пытается настроить новый экземпляр сервера, используя тот же, теперь занятыйпорт.
Есть ли какой-нибудь чистый способ сделать это?