Du kan skapa en separat modul, kalla den mysqlLib.js
som kommer att ansvara för att skapa en pool och returnera anslutningar:
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);
});
};
och i vilken modul/fil som helst som behöver en mysql-anslutning kan du göra detta:
var mysqlLib = require("mysqlLib");
mysqlLib.getConnection(function(err, mclient) {
//do queries that you need
});
Sättet require()
fungerar, koden i mysqlLib.js
kommer bara att köras en gång så bara en pool kommer att skapas även om require("mysqlLib.js"}
anropas i flera filer. Se det här avsnittet
av node.js-dokumenten för en förklaring av modulcachelagring.