Можете да създадете отделен модул, да го наречете mysqlLib.js
който ще отговаря за създаването на пул и връщането на връзки:
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);
});
};
и във всеки модул/файл, който се нуждае от mysql връзка, можете да направите това:
var mysqlLib = require("mysqlLib");
mysqlLib.getConnection(function(err, mclient) {
//do queries that you need
});
Начинът require()
работи, кодът в mysqlLib.js
ще се изпълнява само веднъж, така че ще бъде създаден само един пул, дори ако require("mysqlLib.js"}
се извиква в множество файлове. Вижте този раздел
от документите node.js за обяснение на кеширането на модули.