So übergeben Sie eine MySQL-Verbindung ordnungsgemäß an Routen mit express.js
Ich versuche, den besten Weg zu finden, um eine MySQL-Verbindung (mit Node-MySQL) zwischen meinen Routen für express.js zu übergeben. Ich füge jede Route dynamisch hinzu (indem ich eine für jede Dateischleife in Routen verwende), was bedeutet, dass ich die Verbindung nicht einfach an Routen übergeben kann, die sie benötigen. Ich muss es entweder an jede Route weitergeben oder an keine. Ich mochte die Idee nicht, es an diejenigen weiterzugeben, die es nicht benötigen, also habe ich eine dbConnection.js erstellt, die die Routen bei Bedarf einzeln importieren können. Das Problem ist, dass ich nicht denke, dass ich es richtig mache. Ab sofort enthält meine 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;
};
Und ich importiere es in jede Route mit:
var db = require('../dbConnection.js');
var connection = new db();
Aber ich würde es gerne so machen:
var connection = require('../dbConnection.js');
Wenn ich es jedoch so versuche, erhalte ich die Fehlermeldung, dass die Verbindung keine Methode 'query' hat, wenn ich versuche, eine Abfrage durchzuführen.