2012-12-21 24 views
16

यह निश्चित रूप से मॉड्यूलर, स्वतंत्र टेस्टेबल कोड लिखने के लिए बहुत समझ में आता है - खासकर बड़ी परियोजनाओं के लिए।यदि मैं अभी भी निर्माण पर सभी फाइलों को जोड़ता हूं तो मुझे requ.js का उपयोग क्यों करना चाहिए?

लेकिन require.js/amd का उपयोग करके एक बड़ा प्रोजेक्ट में क्या अंतर है जहां मुझे अभी भी & को बनाने पर मेरी परियोजना को कम करने की आवश्यकता है?

+1

बंद करने के लिए मतदान करने के बजाय, कृपया मुझे समझें क्योंकि मुझे यह अवधारणा सभी – Industrial

+1

पर नहीं मिलती है, मुझे लगता है कि इसके लिए कोई आवश्यकता नहीं है। मुझे लगता है कि require.js को विकास वातावरण में इस्तेमाल किया जा सकता है, लेकिन उत्पादन में यह _probably_ बेकार है। – omninonsense

उत्तर

6

मैं यह कहकर अपनी प्रतिक्रिया का प्रस्ताव देना चाहता हूं कि मुझे लगता है कि आवश्यकता है। जेएस एक पूरी तरह बेकार ढांचा है। यह एक काफी सरल अवधारणा को अधिक जटिल बनाता है।

कहा जा रहा है कि निर्भरता लोडिंग प्लेटफ़ॉर्म स्वतंत्र कोड लिखने पर बहुत उपयोगी है।

उदाहरण के लिए, कहें कि आप एक वेब एप्लिकेशन विकसित करना चाहते हैं जिसे आप मोबाइल ऐप्स के लिए अपाचे कॉर्डोवा में और डेस्कटॉप ऐप्स के लिए एपीजेएस में भी पोर्ट कर सकते हैं। आप अपने सभी व्यावसायिक तर्क को फिर से लिखना नहीं चाहते हैं, इसलिए बूटस्ट्रैप बनाने के लिए यह समझ में आता है जो सॉफ्टवेयर को कई आर्किटेक्चर में अनुकूलित करने के लिए गतिशील रूप से निर्भरता लोड करता है। इस तरह आपके पास केवल एक उत्पाद है, जो कि विभिन्न प्लेटफॉर्म पर चलने में सक्षम है। सर्वर साइड स्क्रिप्ट के लिए नोडजेएस के उपयोग में जोड़ें और आप केवल फ्रंट एंड सॉफ़्टवेयर नहीं लिख सकते हैं, लेकिन सटीक उसी कोड के साथ बैक एंड कर सकते हैं।

मॉड्यूलरिटी क्रॉस-प्लेटफार्म परियोजनाओं के साथ बहुत मदद करता है, लेकिन जैसा कि मैंने कहा: Requ.JS वास्तव में उपयोगी नहीं है। मैंने इसे अत्यधिक जटिल पाया है। इसके बजाए, मैं बस jQuery के getScript फ़ंक्शन के चारों ओर बनाए गए ऑब्जेक्ट का उपयोग करता हूं जिसमें सभी लोड किए गए पैकेजों की रजिस्ट्री होती है ताकि एक dev एक पैकेज लोड करने का प्रयास न करे जो पहले ही लोड हो चुका है (बड़ी परियोजनाएं)।

1

जैसे require.js के लिए लाभ का एक नंबर के होते हैं:

  • सशर्त लोड हो रहा है
  • अतुल्यकालिक लोड हो रहा है
  • तार्किक मॉड्यूल
  • नेस्टेड निर्भरता की अमूर्त
  • Multiversion समर्थन
  • स्वचालित खनन
0

Requ.js आपकी जावास्क्रिप्ट के लिए उत्पादन में जेएस फ़ाइल का उपयोग करने की सिफारिश करता है (या अधिक यदि आप अपनी जावास्क्रिप्ट के लिए जेएस फाइल उत्पादन में हैं, तो आप छोटी परियोजनाओं के लिए क्या कर रहे हैं। मुझे लगता है कि छोटी परियोजनाओं के लिए दो मुख्य कारण हैं जिनका आप इसका उपयोग करेंगे (@Wolfgang Stengel सभी लाभ सूचीबद्ध करता है)।

यदि आप अपनी जेएस फ़ाइल में jQuery या अन्य पुस्तकालयों को जोड़ रहे हैं, तो ऐसा करने के लिए सही काम नहीं हो सकता है। यदि आप एक सीडीएन प्रतिलिपि का उपयोग कर सकते हैं तो संभव है कि उपयोगकर्ता पहले से ही उस मशीन को अपनी मशीन पर डाउनलोड कर लेगा, जिसमें आपकी जावास्क्रिप्ट को लोड करने में कम समय लगेगा।

एक और लाभ यह है कि एसिंक्रोनस लोडिंग। यह ऐसा करेगा जिससे आपकी जावास्क्रिप्ट लोडिंग आपके वेब पेज के प्रतिपादन को अवरुद्ध नहीं करेगी। एक वेब पेज जो जल्दी दिखाई देता है उसे आम उपयोगकर्ता के लिए एक त्वरित साइट माना जाता है।