U kunt een aparte module maken, deze mysqlLib.js
. noemen die verantwoordelijk is voor het maken van een pool en het herstellen van verbindingen:
var mysql = require("mysql");
var pool = mysql.createPool(/* credentials go here */);
exports.getConnection = function(callback) {
pool.getConnection(function(err, conn) {
if(err) {
return callback(err);
}
callback(err, conn);
});
};
en in elke module/bestand dat een mysql-verbinding nodig heeft, kun je dit doen:
var mysqlLib = require("mysqlLib");
mysqlLib.getConnection(function(err, mclient) {
//do queries that you need
});
De manier waarop require()
werkt, de code in mysqlLib.js
wordt slechts één keer uitgevoerd, dus er wordt slechts één pool gemaakt, zelfs als require("mysqlLib.js"}
wordt in meerdere bestanden aangeroepen. Zie dit gedeelte
van de node.js-documenten voor een uitleg van module-cache.