私は Express を初めて使用し、Express + Node-Mysql に頭を悩ませようとしています。
http リクエストごとに新しい mysql 接続を使用したいと考えています。
ここに私のapp.jsファイルがあります:
var express = require( "express" ),
mysql = require( "mysql" ),
routes = require( "./routes" );
var app = module.exports = express(),
db = mysql.createConnection( require( "./config/db" ) );
app.configure(function(){
app.set( "views", __dirname + "/views" );
app.set( "view engine", "jade" );
app.set( "db", db );
app.use( express.logger( "dev" ));
app.use( express.bodyParser() );
app.use( app.router );
app.use( express.static( "front" ));
});
app.configure( "development", function(){
app.use( express.errorHandler() );
});
routes( app );
app.listen(80);
次に、ルート ファイルで、次のようなことを行います。
module.exports = function( app ){
var db = app.get( "db" );
app.get( "/stuff", function( req, res ){
db.connect( function(err){
var sql = "SELECT * FROM stuff";
db.query( sql, function( err, result ){
res.send( result );
db.end(function( err ){ });
});
});
});
};
これは機能しますが、「適切」かどうかはわかりません。私が求めていることを達成するためのよりクリーンな方法はありますか?
(事前に)ご協力いただきありがとうございます。