Мне трудно понять, почему мой код не работает. Я использую пакет узлов mssql и хочу, чтобы инициализация подключения к пулу базы данных была в отдельном файле:
databaseConnection.js:
const sql = require("mssql/msnodesqlv8");
config = {
database: process.env.DB_NAME,
server: process.env.DB_SERVER,
driver: "msnodesqlv8",
options: {
trustedConnection: true
}
};
let pool = sql.connect(config);
module.exports = pool;
Затем у меня есть файл экспресс-маршрута data.js
const express = require("express");
const router = express.Router();
const db = require("../configs/databaseConnection");
router.get("/dataList", async (req, res) => {
let allData = await db.request().query("select * from dataList");
console.log(allData);
res.render("dataList", { title: "Data list" });
});
module.exports = router;
Однако, когда я запускаю сервер и иду на маршрут, я получаю сообщение об ошибке:
(node:13760) UnhandledPromiseRejectionWarning: TypeError: db.request is not a function
Дело в том, что если я настрою именно так, как этот пример Документация mssql (где бы все было сделано на маршруте) все работает. Однако, если соединение с базой данных находится в отдельном файле, оно не работает.
Буду признателен за любую помощь в понимании этого
С уважением, Рокас