Puede crear un módulo separado, llámelo mysqlLib.js
que será responsable de crear un grupo y devolver conexiones:
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);
});
};
y en cualquier módulo/archivo que necesite una conexión mysql, puede hacer esto:
var mysqlLib = require("mysqlLib");
mysqlLib.getConnection(function(err, mclient) {
//do queries that you need
});
La forma en que require()
funciona, el código en mysqlLib.js
solo se ejecutará una vez, por lo que solo se creará un grupo incluso si require("mysqlLib.js"}
se llama en varios archivos. Consulte esta sección
de los documentos de node.js para obtener una explicación del almacenamiento en caché del módulo.