Как выделить Node pg client в другой файл? - PullRequest
0 голосов
/ 16 октября 2019

Я создал остальные API, используя Postgres и Express.js, и сейчас пытаюсь очистить свой код. Я использовал систему маршрутизации Express для разделения конечных точек API, однако я больше не могу использовать client.query, так как клиент объявлен в другом файле.

Вот как выглядит мой код, за исключением информации о соединении и запросов (соединение с базой данных работает, когда я обращаюсь к клиенту в файловом клиенте, объявляемом):

Server.js

const { Client } = require("pg");

module.exports = {
  query: (psql) => {
    return client.query(psql);
  },
}

и вот как я пытаюсь получить доступ к функции:

Route.js

const router = require('express').Router();
const client = require('../../server');


router.get('/', (req, res) => {
    client.query(someQuery)
    .then((result) => {
      res.status(200);
      res.send(result.rows);
    })
    .catch((err) => {
      res.sendStatus(400);
      console.log(err.stack);
    })
})

Я получаю сообщение об ошибке TypeError: client.query is not a function, хотя автоматическое завершение VSCode показывает его как свойство client, когда я начинаю вводить его. Любые советы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...