2012-08-07 14 views
13

व्यवस्थित करना मैं जावास्क्रिप्ट एप्लिकेशन बना रहा हूं। आम तौर पर मैं जो करता हूं वह अलग-अलग मॉड्यूल बनाता है और उपयोगकर्ताओं को इनपुट प्राप्त करता है या $(document).ready(); फ़ंक्शन में ईवेंट पर क्लिक करता है। यह छोटे अनुप्रयोगों के लिए ठीक काम करता है। लेकिन जब मैं एक ही पैटर्न का पालन करता हूं, तो मेरा मतलब है कि $(document).ready(); में क्लिक ईवेंट प्राप्त करना, तो यह गन्दा हो जाता है।जावास्क्रिप्ट कोड

तो मैं इस फ़ाइल को एक विशाल एप्लिकेशन के लिए कैसे व्यवस्थित कर सकता हूं?

अग्रिम धन्यवाद

+3

मैं सम्मान से डाउनवोट से असहमत हूं; कहीं न कहीं से आपको प्रारंभ करना होगा। लेकिन al0ne कोड के माध्यम से दिखाने के लिए प्रश्न का विस्तार करने पर विचार कर सकता है जहां "गन्दा दहलीज" हो रहा है। – cantera

+1

@ cantera25 यह समझ में आता है। गन्दा से मेरा मतलब है कि कोड एकल फ़ाइल में एक हजार से अधिक लाइनों तक पहुंच सकता है। मैं नहीं चाहता कि। – 2619

उत्तर

12

एकल सबसे अच्छा संसाधन में मैं इस विषय पर पाया है Addy उस्मानी के क्रिएटिव कॉमन्स किताब, Patterns for Large-Scale JavaScript Application Architecture है। यह निकोलस जाकस के Scalable JavaScript Application Architecture के हिस्से में स्थित है, जो इसे क्लासिक डिजाइन पैटर्न और आधुनिक वर्कफ़्लो में अनुकूलित करता है।

एक बार जब आप जटिलता के मामूली स्तर तक पहुंच जाते हैं, तो आपको एमवीसी आर्किटेक्चर पैटर्न की विविधता का उपयोग करके बनाए गए ढांचे के साथ काम करने से लाभ होगा। Backbone.js अग्रदूत है और एक माइक्रो-फ्रेमवर्क है, जिसका अर्थ है कि यह दूसरों की तुलना में कम हाथ पकड़ रहा है। अन्य लोकप्रिय विकल्प Ember.js, KnockoutJS हैं।

विस्तार और बॉयलरप्लेट भी इन ढांचे पर डेटा/मॉडल बाध्यकारी और मचान जैसे दोहराए गए कार्यों को संभालने के लिए बनाए गए हैं। बैकबोन के लिए, डेरिक बेली और Backbone Aura से Backbone.Marionette देखें, बैकबोन का उपयोग करके निर्मित ओस्मानी/जाकास आर्किटेक्चरल मॉडल के उत्पादन के लिए तैयार नहीं है ... अच्छी तरह से, रीढ़ की हड्डी।

6

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

एक बार जब आपका कोड व्यवस्थित हो जाए, और स्वयं निहित हो, तो अन्य चिंताएं भी हैं जिन्हें आपको संबोधित करने की आवश्यकता है।

  • कैसे इन शिथिल युग्मित घटकों को तंग युग्मन
  • मैं अपने उत्पादन env में तेजी से लोड करने के लिए इन अलग अलग हिस्सों

मैं के लिए BoilerplateJS संदर्भ वास्तुकला के लेखक हूँ अनुकूलन करना चाहिए कैसे के साथ बातचीत करनी चाहिए बड़े पैमाने पर आवेदन।

http://boilerplatejs.org

यह निकोलस Zakas'presentation में चर्चा से अधिकांश श्रेष्ठ व्यवहार को शामिल किया गया। आपको कोड में मॉड्यूलर उत्पाद सूट का नमूना कार्यान्वयन भी मिलेगा। एक नज़र डालें, आप उन चिंताओं को समझेंगे जिन्हें आपको जावास्क्रिप्ट के साथ बड़े पैमाने पर आवेदन करने में ध्यान देना होगा।

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