我正在学习Node.js + Express,编写一个基本的登录示例。在routes/login.js文件中设置了我的/login路由:
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var connectionpool = mysql.createPool({
host : 'localhost',
user : 'user',
password : 'pass',
database : 'database'
});
router.post('/', function(req,res){
connectionpool.getConnection(function(err, connection) {
if (err) {
console.error('CONNECTION error: ',err);
res.statusCode = 503;
res.send({
result: 'error',
err: err.code
});
} else {
// Do something
}
});
});
module.exports = router;我想知道:如何才能在整个应用程序中显示、mysql、或?我不想在我要创建的每个路由文件上重新声明它们。我看起来像是一个包含或要求的方法。
有什么想法吗?
发布于 2014-10-24 17:15:55
创建一个单独的模块,充当检索SQL连接的接口,如下所示:
var mysql = require('mysql');
var connectionpool = mysql.createPool({
host : 'localhost',
user : 'user',
password : 'pass',
database : 'database'
});
exports.getConnection = function (callback) {
connectionpool.getConnection(callback);
};然后在另一个文件中:
var connections = require('./connections');
connections.getConnection(function (err, c) {
// Use c as a connection
c.query("select * from table limit 10 ",function(err,rows){
//this is important release part
c.release();
if(!err) {
console.log(rows);
}
});
});https://stackoverflow.com/questions/26552544
复制相似问题