Возникли проблемы при инициализации базы данных Postgresql через PG-Promise - PullRequest
0 голосов
/ 26 декабря 2018

Я совершенно новичок в Express / Postgresql и пытаюсь научить их создавать веб-приложения.После некоторого возни я решил, что хочу разработать свой бэкэнд с помощью TypeScript.Я успешно преобразовал все остальные мои файлы из JavaScript в TypeScript, но все еще не могу понять, как инициализировать соединение pg-обещание в TypeScript!

Я пытался следовать рекомендациям TypeScript в этой ссылкеВот.https://github.com/vitaly-t/pg-promise/tree/master/typescript

// Initialize the PostGres database conneciton for use throughout 
the entire application
import {IMain, IDatabase} from 'pg-promise';
import * as pgPromise from 'pg-promise';

const pgp: IMain = pgPromise({
    query(e: any) {
        console.log('QUERY RESULT:', e.query);
    },
    receive(data: any, result: any, e: any) {
        console.log(`DATA FROM QUERY ${e.query} WAS RECEIVED.`);
    }
});

const connection: any = {
    host: 'localhost',
    port: 5432,
    database: 'RushHub',
    user: 'RyanArifin',
    password: null
}
const db: IDatabase<any> = pgp(connection);
export {
    db
};

В настоящее время я получаю сообщение об ошибке "TS2349: Невозможно вызвать выражение, тип которого не содержит сигнатуру вызова. Тип 'typeof pgPromise' не имеет совместимых сигнатур вызовов."Эта ошибка возникает, когда я пытаюсь установить параметры инициализации.Любая помощь будет оценена, спасибо!

1 Ответ

0 голосов
/ 13 июля 2019

Это стандартный флаг конфигурации TypeScript - esModuleInterop.Когда установлено значение true, синтаксис импорта равен import pgPromise from 'pg-promise';, а когда false, что является значением по умолчанию, синтаксис равен import * as pgPromise from 'pg-promise';.

В библиотеке приведен пример конфигурации по умолчанию для TypeScript.

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