我试图找出在 express.js 的路由之间传递 mysql 连接(使用 node-mysql)的最佳方法。我正在动态添加每条路由(在路由中使用 for each file 循环),这意味着我不能只将连接传递给需要它的路由。我要么需要将它传递给每条路线,要么根本不需要。我不喜欢将它传递给不需要它的人的想法,所以我创建了一个 dbConnection.js,如果需要,路由可以单独导入。问题是我认为我做得不对。截至目前,我的 dbConnection.js 包含:
var mysql = require('mysql');
var db = null;
module.exports = function () {
if(!db) {
db = mysql.createConnection({
socketPath: '/tmp/mysql.sock',
user: '*********',
password: '*********',
database: '**********'
});
}
return db;
};
我正在使用以下方法将其导入每条路线:
var db = require('../dbConnection.js');
var connection = new db();
但我想这样做:
var connection = require('../dbConnection.js');
但是,当我这样尝试时,当我尝试进行查询时,我收到一条错误消息,提示连接没有方法“查询”。