Du kan oprette en db-indpakning og derefter kræve det. node's require returnerer den samme forekomst af et modul hver gang, så du kan udføre din forbindelse og returnere en handler. Fra Node.js-dokumenterne :
Du kan oprette 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;
Derefter i din app.js
, ville du simpelthen kræve det.
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);
Denne tilgang giver dig mulighed for at abstrahere alle forbindelsesdetaljer, indpakke alt andet, du ønsker at afsløre og kræve db
gennem hele din applikation, mens du bevarer én forbindelse til din db takket være, hvordan node require fungerer :)