2010-09-03 6 views
6

बस इस बारे में गुरु से पूछना चाहते हैं। मुझे पता है कि सीएसएस फाइलों को एक अरब फाइलों में विभाजित करने के बजाय बेहतर विलय किया जाता है। क्या जेएस एक ही तरीके से काम करता है? यहाँ कुछ अंक मैं वर्तमान में पता है (या विश्वास करते हैं ... इसलिए आप कुछ कहना सकता हूं कि मेरा विश्वास/समझ गलत है):अच्छा कोडिंग: मॉड्यूलर जेएस फाइलें या एक बड़ी जेएस फ़ाइल?

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

उत्तर

10

आपको विकास और उत्पादन के लिए एक ही फाइल का उपयोग करने की आवश्यकता नहीं है, इसलिए आप दोनों दुनिया के सर्वश्रेष्ठ हो सकते हैं: विकास के लिए मॉड्यूलरेशन, और तैनाती के लिए concatenation। यहां एक list of tools for concatenation and minification है।

0

हम हमेशा हमारी जावास्क्रिप्ट को अलग-अलग फ़ाइलों में मॉड्यूलर करते हैं लेकिन फिर सर्वर पक्ष का उपयोग यह सुनिश्चित करने के लिए करता है कि ब्राउज़र को केवल जेएस के लिए एक ही कॉल करना है।

1

मैं तैनाती विलय के लिए व्यावहारिक दृष्टिकोण लेता हूं + कोर अनुप्रयोग स्क्रिप्ट को कम करता हूं (वैश्विक घटक उर्फ), और फिर प्रति अनुभाग या प्रति पृष्ठ स्क्रिप्ट (स्थानीय घटक) को कम करें। यह आपको सामान्य रूप से दो या तीन स्क्रिप्ट के साथ छोड़ देता है जिसमें आपकी जेएस लाइब्रेरी शामिल नहीं है (पढ़ें: jquery)।

आप शायद ही कभी मौत का एक बड़ा फ़ाइल पर सब कुछ डंप करना चाहते हैं, क्योंकि यह आम तौर पर संभव नहीं दिखता कि आपके आगंतुक हर पृष्ठ पर जाएँ करने के लिए जा रहा है और उनके में कोड के हर बिट की जरूरत है, तो यह है कि उन्हें सब कुछ देने के बारे में सोचना गलत अर्थव्यवस्था है एक हिट में उन्हें कुछ वितरित हिट में जो कुछ चाहिए, उसे देने से तेज़ है, खासकर जब आप स्क्रिप्ट्स (यानी अवरुद्ध करने) के निष्पादन निष्पादन प्रोफ़ाइल पर विचार करते हैं।

और मुझे उम्मीद है कि यह बिना कहने के चला जाता है कि आप परिनियोजन केवल के लिए यह सब करते हैं। हमेशा, मॉड्यूलर स्क्रिप्ट के साथ हमेशा अपना dev करें, बिल्ड प्रक्रिया को विलय को संभालने दें।

2

यह अलग-अलग फ़ाइलों के बढ़ते ओवरहेड और आपके पास उपयोगकर्ता डाउनलोड कोड होने का मौका है, वे कभी भी इसका उपयोग नहीं करेंगे। आपको देखना चाहिए कि उपयोगकर्ता आपके ऐप का उपयोग कैसे करते हैं।

अपनी फ़ाइलों को संयोजित करने के लिए एक बिल्ड स्क्रिप्ट का उपयोग करने पर विचार करें।