Node.js / Express – 在哪里把MySQL连接?

我正在学习如何使用node.js连接到我的第一个快速Web应用程序的mysql数据库: http : //expressjs.com/guide/database-integration.html#mysql

我在哪里把这个代码放在我刚生成的Express应用程序中? 我只是把它放在app.js文件中?

在我看来,如果我把它放在app.js中,那么对于所有未来的web请求,查询数据都将停滞不前。 如果每个Web请求都必须有来自数据库的当前数据,我应该在哪里放这个代码?

对不起,我已经写了其他的node.js应用程序,但是我把它作为一个web服务器来使用,而且我完全是新的expression方式。 我很感激任何有关在什么地方放置东西的指导。

您可以使用我复制的这个简化的代码块:

'use strict'; var mysql = require('mysql'); var database = { initDB: function() { this.pool = mysql.createPool({ //fill in }}); }, query: function(query, callback) { this.pool.query(query, function(err, res) { if (err) { this.initDB(); //you can call the query again here if you want } else { callback(res); } }); }, disconnect: function() { if (this.pool) { this.pool.end(); } } }; module.exports = database; 

您可以在服务器init代码中调用initDB()方法,然后在需要进行真正的查询时调用query()方法。