मैं आम तौर पर एक प्रोजेक्ट यूटिलिटीज फ़ाइल शामिल करता हूं जिसमें इनमें से कई चीजें शामिल हैं, बस इसे आसान बनाने के लिए। यह एक छद्म वैश्विक के रूप में कार्य करता है, लेकिन कई सामान्य समस्याओं के बिना ग्लोबल्स में प्रवेश होता है।
उदाहरण के लिए,
projectUtils.js
module.exports = {
initialize: function(next){
// initialization actions, there can be many of these
this.initializeDB(next);
},
initializeDb: function(next){
mongoClient.open(function(err, mongoClient) {
if(err) return next(err);
module.exports.db = mongoClient.db(DB);
next();
});
}
}
app.js
var projectUtils = require('projectUtils');
// (snip)
projectUtils.initialize(function(err) {
if(err) throw err; // bad DB initialization
// After this point and inside any of your routes,
// projectUtils.db is available for use.
app.listen(port);
}
एसिंक्रोनस इनिशियलाइज़ () फ़ंक्शन का उपयोग करके, आप यह सुनिश्चित कर सकते हैं कि सभी डेटाबेस कनेक्शन, फ़ाइल I/O, आदि सर्वर शुरू करने से पहले किए गए हैं।