बुरी खबर के साथ शुरू करने के लिए: जैसा कि Node.js एक बहुत ही युवा तकनीक है, मुझे लगता है कि आप पाएंगे कि एक पूर्ण वेबसाइट बनाने और इसे बनाए रखने / संचालित करने की कहावतें आपके वर्तमान में उपयोग किए गए कार्यों से बहुत भिन्न होंगी।
जोश 3736 कहते हैं: एक बार जब आप यह पता लगा हैं कि Node.js और उसके विभिन्न पैकेज (कनेक्ट, एक्सप्रेस) कैसे काम करते हैं, तो मैंने पाया कि आप बहुत जल्दी नई साइटें विकसित कर सकते हैं।
वर्तमान में Node.js में मौजूद मोटे किनारों को इसके विकास की तेज गति के साथ जोड़ा गया है और इसमें शामिल सभी मॉड्यूल चीजों को जटिल कर सकते हैं, और चीजों को आप की तुलना में कम सरल, तेज और सीधा बना सकते हैं।
रास्ते से बाहर होने के बाद, यहाँ अच्छी खबर है:
नोड पैकेज प्रबंधक, NPM यह उपयुक्त एक वेबसर्वर बनाने के लिए कर रही है, अच्छा उपकरण और चौखटे Node.js के नंगे हड्डियों कार्यक्षमता का विस्तार करने का एक बहुत कुछ है।
सबसे विशेष रूप से एक्सप्रेस फ्रेमवर्क होगा जिसमें एक वेबसर्वर (कुकीज़, सत्र और पथ अनुमार्गण सहित) चलाने के लिए आवश्यक लगभग सभी चीजें शामिल हैं। इसके अतिरिक्त एक्सप्रेस पार्टिकल्स का समर्थन करता है, जो आपके हेडर और फुटर को शामिल करता है।
एक्सप्रेस सेन्चा कनेक्ट के ऊपर बनाया गया है । कुकीज़ और सत्र वास्तव में कनेक्ट द्वारा संचालित होते हैं। एक्सप्रेस वह है जो आपकी रूटिंग को सरल बनाता है और विचारों / भाग-पत्रों को संभालता है। इसलिए यदि आपको एक्सप्रेस के साथ आने वाली सभी घंटियाँ और सीटी की आवश्यकता नहीं है, तो आप इसके बजाय कनेक्ट के लिए जा सकते हैं।
यदि आप इन विभाजनों के लिए टेम्प्लेट का उपयोग करना पसंद करते हैं, तो जेड टेम्पलेट इंजन आपके लिए चीजों को गति दे सकता है। हालांकि जोश 3736 बताते हैं कि जेड धीमा है और व्हॉट्सएप -महत्वपूर्ण है। एक अधिक संपूर्ण अवलोकन यहां पाया जा सकता है , जिसमें उनका पसंदीदा, डीओटी शामिल है । (मैं व्यक्तिगत रूप से socket.io
केवल आधारित अनुप्रयोगों के लिए Node.js का उपयोग करता हूं , इसलिए वह मेरे से बेहतर स्रोत है जब यह अस्थायी हो जाता है)।
आप db-mysql मॉड्यूल का उपयोग करके Node.js से MySQL से कनेक्ट कर सकते हैं , लेकिन अगर आपको इसकी आवश्यकता नहीं है, क्योंकि आप पहले से मौजूद सिस्टम से जुड़े डेटा तक पहुंच बना रहे हैं, तो मैं और अधिक उपयोग करने की सलाह दूंगा ... 'आधुनिक 'दृष्टिकोण, जो कि ज्यादातर Node.js परियोजनाओं के रूप में एक NoSQL डेटाबेस का उपयोग करना है। MongoDB के माध्यम से नेवला जाना लोकप्रिय तरीका है।
या अगर यह सिर्फ उन वस्तुओं को संग्रहीत कर रहा है जिनमें आप रुचि रखते हैं, तो इसके बजाय केवल रेडिस के लिए जाएं (जो कि आप किसी भी समय किसी भी आवश्यकता पर जा रहे हैं)।
एक बार जब आपकी वेबसाइट पूरी हो जाएगी, तो आपको इसे तैनात करना होगा और सुनिश्चित करना होगा कि यह चालू रहे। ऐसा करने के कई तरीके हैं, जैसे अंतर्निहित क्लस्टर समर्थन का उपयोग करना या अधिक सुविधा-अनुकूल forever
एनपीएम मॉड्यूल का उपयोग करना। अधिक जानकारी के लिए मेरा यह SO प्रश्न देखें।
निष्कर्ष :
मैं इसे पाने की कोशिश कर रहा हूं:
यह पूछना कि Node.js में वेबसाइट बनाने के लिए सबसे अच्छा अभ्यास क्या है, यह पूछने के बारे में है कि PHP में वेबसाइट बनाने का सबसे अच्छा तरीका क्या है: 100 डेवलपर्स आपको 100 अलग-अलग उत्तर देंगे।
एनपीएम कई उत्कृष्ट रूपरेखाओं के साथ धन्य है जो बहुत सारे कार्यों को सरल बनाता है, लेकिन यह सब वरीयता पर आधारित है जो वास्तव में जाने का एक तरीका है।
जैसा कि मैंने कहा है, Node.js अभी भी एक बहुत ही युवा तकनीक है, इसलिए अभी तक कोई भी रूपरेखा या अतिरिक्त उपकरण 'डिफेक्टो मानक' के रूप में सामने नहीं आए हैं; आप जिन चीज़ों को करने की कोशिश कर रहे हैं, उनमें से शायद विभिन्न विकल्प हैं, और अपडेट के दौरान उनमें से अधिकांश का उपयोग करते समय अपने कोड को तोड़ने की उम्मीद करें, क्योंकि Node.js का विकास स्वयं और अधिकांश मॉड्यूल तेजी से पुस्तक है। आपको संभलकर रहना होगा।
यह सब एक साथ रखकर :
जैसा कि मैंने कहा है, Node.js के लिए मेरा मुख्य उत्पादन उपयोग करने में सक्षम है socket.io
, इसलिए मेरे पास कोई भी अच्छा उत्पादन उदाहरण मौजूद नहीं है (और जैसा कि मैं एक अच्छी तरह से लायक छुट्टी मैं छोड़ने जा रहा हूं) t के पास एक को एक साथ रखने का समय है)। हालांकि कुछ अच्छे उदाहरण हैं:
फिर, जाने का तरीका (और बाद में उदाहरण का पालन करने के लिए) आपके अंतिम लक्ष्यों और चुनी गई तकनीकों पर बहुत निर्भर करता है, लेकिन सौभाग्य से सभी विकल्पों के लिए बहुत सारे संसाधन उपलब्ध हैं। अधिकांश मॉड्यूल अच्छी तरह से प्रलेखित GitHub रिपॉजिटरी का उपयोग करते हैं और सबसे लोकप्रिय मॉड्यूल के साथ संयोजन में उदाहरणों को शामिल करते हैं ( /examples/
सबसे रिपॉजिटरी में मौजूद होने वाली डायर देखें )।
सौभाग्य! (और मेरी गलतियों को सुधारने के लिए जोश 3736 का धन्यवाद ।)