Можете да създадете db обвивка, след което да я изисквате. node's require връща един и същ екземпляр на модул всеки път, така че можете да извършите връзката си и да върнете манипулатор. От документите Node.js :
Можете да създадете db.js
:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : '',
database : 'chat'
});
connection.connect(function(err) {
if (err) throw err;
});
module.exports = connection;
След това във вашия app.js
, просто ще го изисквате.
var express = require('express');
var app = express();
var db = require('./db');
app.get('/save',function(req,res){
var post = {from:'me', to:'you', msg:'hi'};
db.query('INSERT INTO messages SET ?', post, function(err, result) {
if (err) throw err;
});
});
server.listen(3000);
Този подход ви позволява да абстрахирате всички подробности за връзката, да обвиете всичко друго, което искате да изложите, и да изисквате db
през цялото ви приложение, като същевременно поддържате една връзка с вашата db благодарение на начина, по който node require работи :)