2012-03-17 9 views
6

मैं एक मोंगोडीबी डेटाबेस के साथ नोड.जेएस में एक छोटा ऐप विकसित कर रहा हूं, मेरे पास स्थिर फाइलें और प्रारंभिक index.html को संभालने के लिए सामने nginx है।क्या यह वेबस्केट कनेक्शन पर HTML भेजने के लिए एक बुरा अभ्यास है

जब मैं अपने index.html पर जाता हूं तो सभी जावास्क्रिप्ट/सीएसएस/आईएमजी फाइलें लोड की जाती हैं, और नोड.जेएस सर्वर पर एक वेबस्केट कनेक्शन बनाया जाता है।

प्रारंभ में मेरा index.html खाली है, इसे सही टेम्पलेट फ़ाइल से भरना होगा। एक चीज जो मैं कर सकता था वह एक सामान्य AJAX req है।

$ .get ('myfile.html') और इसे मेरी सामग्री में शामिल करें। वेबसाईट बस डेटाबेस डेटा को संभालता है।


अब मैं पहले से ही एक खुला WebSocket कनेक्शन सर्वर, क्यों मैं सिर्फ डेटाबेस से डेटा के साथ .html टेम्पलेट हस्तांतरण नहीं है, और ग्राहक में यह विलय की है।

टेम्पलेट फ़ाइलें केवल थोड़ी सी HTML स्निपेट हैं, क्यों एक http req बर्बाद करें, है ना ??


ध्यान दें कि यह ऐप केवल संपूर्ण HTML5 ब्राउज़र समर्थन वाले चुनिंदा लोगों द्वारा उपयोग किया जाएगा। कोई फॉलबैक स्थितियों की आवश्यकता नहीं है।

+0

क्या आपने [Backbone.js] (http://documentcloud.github.com/backbone/) की कोशिश की है? – cormacrelf

+0

हां, लेकिन मुझे सिंक फ़ंक्शन काम करने के लिए नहीं मिला। कुछ उदाहरण ऑनलाइन हैं, लेकिन वे सिर्फ मेरी जरूरतों के लिए जटिल लग रहे हैं। मेरे पास पहले से मौजूद अधिकांश तर्क हैं, मैं सिर्फ यह जानना चाहता हूं कि वेबसाकेट HTML के लिए उपयोग किया जा सकता है या नहीं। –

उत्तर

5

यह देखते हुए कि HTTP फाइलों की सेवा के लिए बहुत उपयुक्त है, संभावित रूप से कई परतों में - आपके लिए काम कर रहा है ताकि आपको किसी भी आगंतुक को एक से अधिक HTML सामग्री भी नहीं भेजनी पड़े, मुझे निश्चित रूप से लगता है अपसाइड डाउनसाइड्स से अधिक है। ऐसा लगता है कि आप संबंधित सामग्री के साथ index.html भेज सकते हैं, और आपके index.html में टेम्पलेट्स (उदा। jQuery templates में <script id="fooTemplate" type="text/x-jquery-tmpl"> टैग का उपयोग कर सकते हैं)।

स्पष्ट रूप से आप वेबस्केट पर टेम्पलेट भेज सकते हैं।

+0

उत्तर के लिए धन्यवाद, यह वही है जो मैं करना चाहता हूं। मैं पहले से ही jQuery टेम्पलेट का उपयोग करता हूं और यह काफी अच्छी तरह से काम करता है। महान! –

संबंधित मुद्दे