Как из node.js (node-postgres) достать переменную и использовать ее в нативном js файле?
Подскажите пожалуйста, я использую node.js и node-postgres для получения определенных данных, все подключилось, данные читаются, но только внутри функции. Пример кода:
const {Client} = require('pg');
const client = new Client({
user: 'admin',
host: '172.15.15.111',
database: 'some_db',
password: 'password',
port: 5432
});
client.connect();
client.query('SELECT code, display_name, description FROM core.actions', (err,res) => {
var pgCode = JSON.stringify(res.rows);
client.end();
console.log(pgCode);
});
Я пытался использовать внутри client.query module.exports.pgCode = pgCode;, но у меня ничего не вышло.
Как я могу передать pgCode в другой js файл, либо во внешнюю среду или как глобальную переменную? Или может есть другой способ получения данных из БД postgres?
Ответы (1 шт):
Автор решения: Sergey Petrov
→ Ссылка
Используйте babel или typescript для современного импорта/экспорта переменных! Пример использования с babel
config.js
export const config = {
user: 'admin',
host: '172.15.15.111',
database: 'some_db',
password: 'password',
port: 5432
}
client.js
import { config } from './config';
import { Client } from 'pg';
export const client = new Client(config);
client.connect();
wrapper.js
import { client } from './client';
export async function getDataFromDb(text) {
const query = client.query(text);
return data;
}
querytest.js
import { getDataFromDb } from './wrapper';
(async function() {
const query = await getDataFromDb(`SELECT * FROM "MYTABLE"`);
console.log(query.rows);
})();