का उपयोग कर एक्सप्रेस में सबडोमेन द्वारा मार्ग निर्दिष्ट करना मैं vhost
एक्सप्रेस/कनेक्ट मिडलवेयर का उपयोग कर रहा हूं और मैं थोड़ा उलझन में हूं कि इसका उपयोग कैसे किया जाना चाहिए। मैं सबडोमेन के साथ मेजबानों पर मार्गों का एक सेट लागू करना चाहता हूं, और बिना किसी उप डोमेन के मेजबानों के लिए आवेदन करने के लिए एक और सेट।vhost midware
module.exports = function(subdomain){
var app = express.createServer();
require('./routes')(app, subdomain);
return app;
}
और फिर routes.js
में मैं कि क्या उप डोमेन चर पर मार्गों का सेट, निर्भर चलाना चाहते हैं:
मेरी app.js फ़ाइल में, मैं
var app = express.createServer();
app.use...(middlware)...
app.use(express.vhost('*.host', require('./domain_routing')("yes")));
app.use(express.vhost('host', require('./domain_routing')("no")));
app.use...(middlware)...
app.listen(8000);
और फिर domain_routing.js
में है पास "yes"
या "no"
है।
क्या मैं सही रास्ते पर हूं या यह नहीं है कि आप इस मिडलवेयर का उपयोग कैसे करते हैं? मैं इस तथ्य पर थोड़ा उलझन में हूं कि दो app
सर्वर उदाहरण बनाए जा रहे हैं (इस तरह वेब पर उदाहरण कैसे काम करते हैं)। क्या मुझे इसके बजाय मूल app
सर्वर इंस्टेंस में पास करना चाहिए और केवल उपडोमेन राउटर के बजाय अलग बनाने के बजाय इसका उपयोग करना चाहिए?
धन्यवाद! और मेरा दूसरा सवाल यह है कि यदि मैं मूल सर्वर उदाहरण के लिए उपयोग करने के लिए मिडलवेयर निर्दिष्ट करता हूं, और फिर मैं vhosts के लिए अलग-अलग सर्वर उदाहरणों का उपयोग करता हूं, तो मूल सर्वर के लिए उपयोग किए जाने वाले मिडलवेयर को vhost पर ले जाया जाएगा? या इसके बजाय मैं विशेष रूप से vhosts (मूल सर्वर पर vhost midware को छोड़कर) पर मिडलवेयर का उपयोग कर रहा हूं, असल में, मैं सभी संभावित vhosts पर मिडलवेयर का उपयोग करने के लिए एक निर्बाध तरीका ढूंढ रहा हूं, बजाय समानता के समान मध्यवर्ती उपयोग करने के बजाय vhosts में से प्रत्येक जो दोहराया जाता है ... – user730569
नहीं, आपको सभी vhosts पर विशेष रूप से मिडलवेयर का उपयोग करने की आवश्यकता नहीं है। किसी भी मिडलवेयर जिसे आप सभी ऐप्स के लिए उपयोग करना चाहते हैं, वोहोस्ट से पहले '.use''d किया जा सकता है।'use''d –
यह बढ़िया है! लेकिन जिज्ञासा से, यह कैसे काम करता है? मुझे लगता है कि मैं थोड़ा उलझन में हूं कि 'server.emit ("request", req, res);' दृश्यों के पीछे करता है। – user730569