मैं अपने मार्गों को अलग-अलग फ़ाइलों में विभाजित करना चाहता हूं, जहां एक फ़ाइल में सभी मार्ग होते हैं और दूसरा एक संबंधित क्रिया होता है। मेरे पास वर्तमान में इसे प्राप्त करने का एक समाधान है, हालांकि मुझे ऐप-इंस्टेंस ग्लोबल को क्रियाओं में पहुंचने में सक्षम होने की आवश्यकता है। मेरे मौजूदा सेटअप इस तरह दिखता है:एक्सप्रेस: एक अलग फ़ाइल से मार्गों पर ऐप-इंस्टेंस कैसे पास करें?
app.js:
var express = require('express');
var app = express.createServer();
var routes = require('./routes');
var controllers = require('./controllers');
routes.setup(app, controllers);
app.listen(3000, function() {
console.log('Application is listening on port 3000');
});
routes.js:
exports.setup = function(app, controllers) {
app.get('/', controllers.index);
app.get('/posts', controllers.posts.index);
app.get('/posts/:post', controllers.posts.show);
// etc.
};
नियंत्रकों/index.js:
exports.posts = require('./posts');
exports.index = function(req, res) {
// code
};
नियंत्रकों/पदों .js:
exports.index = function(req, res) {
// code
};
exports.show = function(req, res) {
// code
};
हालांकि, इस सेटअप में एक बड़ा मुद्दा है: मेरे पास एक डेटाबेस है- और एक ऐप-इंस्टेंस मुझे क्रियाओं (नियंत्रकों/*। जेएस) को पास करने की आवश्यकता है। एकमात्र विकल्प जो मैं सोच सकता था, दोनों वैरिएबल ग्लोबल बना रहा है जो वास्तव में एक समाधान नहीं है। मैं कार्यों से मार्ग अलग करना चाहता हूं क्योंकि मेरे पास बहुत सारे मार्ग हैं और उन्हें केंद्रीय स्थान पर चाहते हैं।
कार्यों में चर पारित करने का सबसे अच्छा तरीका क्या है लेकिन मार्गों से कार्यों को अलग करें?
आपके नियंत्रक.जेएस कैसा दिखता है? हो सकता है कि आप इसे एक फ़ंक्शन (ऑब्जेक्ट के बजाए) बना सकें जो पैरामीटर प्राप्त कर सके। – mihai
की आवश्यकता है ('नियंत्रक') नियंत्रकों/index.js की आवश्यकता है। हालांकि, एक समारोह काम नहीं करेगा क्योंकि मैं मार्गों में ऑब्जेक्ट का उपयोग करता हूं (मार्ग.जेएस देखें) और इस प्रकार यह तर्क नहीं दे सकता है, भले ही यह एक कार्य है। –