@godand

Как правильно отправлять запросы в другие файлы?

Всем добрый вечер. Уже долгое время бьюсь с одной козявкой, которая появляется при попытке осуществить запрос в другом js файле. Покажу на примере.

database.js
var mysql = require("mysql");

module.exports = {
    Pool : null,
    Connect : function(callback) {
        this.Pool = mysql.createConnection({
            host: 'localhost',
            user: 'root',
            password: 'admin',
            database: 'server'
        })
        this.Pool.connect(function(err) {
            if(err) {
                console.log('[Database ERROR] ' + err.message);
                throw err;
            } else {
                console.log(`\x1b[92m[DATABASE]\x1b[0m Соединение установлено.`);
            }
        })
    }
}


main.js
require('./module.js');

const DB = require('./database.js');

DB.Connect(() => {
      DB.Pool.query("CREATE TABLE IF NOT EXISTS `mdb_players` (`ID` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `Name` varchar(24) NOT NULL, `Money` int(11) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;", (err) => {
    if (err) console.log('\x1b[91m[Database]\x1b[0m ' + err.message);
  });
});


Теперь начинается следующий этап, в который я не могу вникнуть. К примеру у нас есть файл module.js. Именно в этом файле мне нужно осуществить запрос, повторно не подключаясь к бд, то есть не использовать DB.Connect(), а сразу использовать DB.query().

module.js

const DB = require('./database.js')

DB.Pool.query("CREATE TABLE IF NOT EXISTS `mdb_players` (`UID` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `Name` varchar(24) NOT NULL, `Money` int(11) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;", (err) => {
    if (err) console.log('\x1b[91m[Database]\x1b[0m ' + err.message);
  });


Можно было бы использовать DB.Connect() в других файлах, но тогда в консоли будет неоднократно выводиться сообщение с установленным соединением.
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы