Sie können ein separates Modul erstellen, nennen Sie es mysqlLib.js
der für die Erstellung eines Pools und die Rückgabe von Verbindungen verantwortlich ist:
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);
});
};
und in jedem Modul/Datei, das eine MySQL-Verbindung benötigt, können Sie Folgendes tun:
var mysqlLib = require("mysqlLib");
mysqlLib.getConnection(function(err, mclient) {
//do queries that you need
});
Die Art und Weise require()
funktioniert, der Code in mysqlLib.js
wird nur einmal ausgeführt, sodass nur ein Pool erstellt wird, selbst wenn require("mysqlLib.js"}
wird in mehreren Dateien aufgerufen. Siehe diesen Abschnitt
der node.js-Dokumentation für eine Erläuterung des Modul-Caching.