Sie könnten einen DB-Wrapper erstellen und ihn dann benötigen. Die Anforderung des Knotens gibt jedes Mal dieselbe Instanz eines Moduls zurück, sodass Sie Ihre Verbindung herstellen und einen Handler zurückgeben können. Aus der Node.js-Dokumentation :
Sie könnten db.js
erstellen :
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;
Dann in Ihrer app.js
, würden Sie es einfach benötigen.
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);
Mit diesem Ansatz können Sie alle Verbindungsdetails abstrahieren, alles andere, was Sie offenlegen möchten, umschließen und db
erfordern in Ihrer gesamten Anwendung, während Sie dank der Funktionsweise von Node Require eine Verbindung zu Ihrer Datenbank aufrechterhalten :)