Я пытаюсь найти лучший способ передать соединение mysql (используя node -mysql) между моими маршрутами для express.js. Я динамически добавляю каждый маршрут (используя для каждого цикла файлов в маршрутах), что означает, что я не могу просто передать соединение с теми маршрутами, которые в нем нуждаются. Мне либо нужно передать его каждому маршруту, либо никому. Мне не понравилась идея передать его тем, кому это не нужно, поэтому я создал dbConnection.js, чтобы маршруты могли индивидуально импортироваться, если они им нужны. Проблема в том, что я не думаю, что делаю это правильно. На данный момент мой dbConnection.js содержит:
var mysql = require('mysql');
var db = null;
module.exports = function () {
if(!db) {
db = mysql.createConnection({
socketPath: '/tmp/mysql.sock',
user: '*********',
password: '*********',
database: '**********'
});
}
return db;
};
И я импортирую его в каждый маршрут, используя:
var db = require('../dbConnection.js');
var connection = new db();
Но я хотел бы сделать это вот так:
var connection = require('../dbConnection.js');
Однако, когда я пытаюсь сделать это, я получаю сообщение о том, что соединение не имеет запроса метода, когда я пытаюсь сделать запрос.