2009-12-30 15 views
8

मैं जावास्क्रिप्ट और jQuery सीखना शुरू कर रहा हूं। मैं कुछ tweakings और सामान करने में कामयाब रहे, सब कुछ ठीक है। लेकिन मैं सोच रहा था कि यह एकाधिक jQuery फ़ाइलों और प्लगइन्स को मिश्रण करने का सबसे अच्छा अभ्यास है। उदाहरण के लिए:एकाधिक jQuery फ़ाइलों को मिलाएं - सर्वोत्तम अभ्यास?

मैं jQuery 1.3.2 min.js, jQuery आसान 1.3.js, jQuery साइकिल min.js और jQuery यूआई है। क्या सिर्फ एक फ़ाइल में jQuery (मुख्य), jQuery easing और jQuery चक्र को एक साथ रखने की अनुशंसा की जाएगी?

मुझे कुछ प्रकाश यहाँ दे।

धन्यवाद,

+0

अच्छा पहला सवाल, ओवरफ्लो स्टैक करने के लिए आपका स्वागत है! –

उत्तर

2

नहीं, मैं रखना होगा फ़ाइलों को अलग। यह कार्यक्षमता को अलग रखता है, और प्लगइन्स के किसी भी बाद के संस्करणों को फिर से प्लग-इन करना आसान बनाता है।

साथ ही, सभी प्लगइन कोड को शामिल करने के लिए फ़ाइल को संपादित करके, आप स्वाभाविक रूप से जोखिम पेश कर रहे हैं, क्योंकि फ़ाइल मूल कोड बेस लेखकों के परीक्षण के अधीन नहीं होगी।

निश्चित रूप से, मैं तर्क दूंगा कि किसी भी लाभ को नुकसान से काफी नुकसान हुआ है।

+0

मैं फ़ाइलों को अलग-अलग समस्याओं के कारण अलग करने की दिशा में दुबला रहूंगा, क्योंकि नामों के आधार पर चीजों को अलग नहीं किया जा रहा है।यदि आप बैंडविड्थ पर कटौती करना चाहते हैं, तो तैनाती से पहले कोड को छोटा करना कुछ देखने के लिए हो सकता है। – Chris

+0

आपके स्पष्ट उत्तर के लिए बहुत बहुत धन्यवाद। आप लोगों को एक मजबूत बिंदु मिला है। अब मुझे यह देखने के लिए और अधिक राहत मिली है कि अगर मैं उन्हें संकलित करता हूं या उन्हें अलग करता हूं तो यह कोई अपराध नहीं है। – Vitor

+0

इसके लिए एक डाउनवोट मिला। ऐसा नहीं है कि मुझे परेशान है, लेकिन यह जानना अच्छा लगेगा कि –

5

आप ऐसा कर सकते हैं। यह सभी जेएस कोड को घुमाने के लिए HTTP अनुरोधों की मात्रा बचाता है। यह बनाए रखने के लिए केवल थोड़ा कठिन है, लेकिन मेरी राय में यह आपके (और क्लाइंट!) के लाभों से अधिक नहीं है, कम HTTP अनुरोधों के साथ है।

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

+0

आपके स्पष्ट उत्तर के लिए बहुत बहुत धन्यवाद। मुझे डर था कि इसे "मोटा" चीज़ माना जाएगा, आपको पता है। :-) – Vitor

4

यह देखते हुए कि गूगल रैंक के लिए एक क्वालीफायर के रूप में साइट प्रतिक्रिया की गति पर विचार के बारे में सोच रही है आप संकलन सब एक फ़ाइल में जेएस से बेहतर हो सकता है। YSlow इस तरह की चीज करने के लिए सबसे इष्टतम तरीका निर्धारित करने में आपकी सहायता के लिए एक अच्छा टूल है।

+1

वाईएसलो वास्तव में एक शानदार प्रदर्शन विश्लेषण उपकरण है, लेकिन मुझे नहीं लगता कि यह निर्णय में कैसे मदद करेगा कि जेएस फाइलों को कम करना है या नहीं। और भी, YSlow * आपके पास जो भी है, उसके बावजूद * इसे करने की सिफारिश करता है। यह सिर्फ जवाब देता है "हाँ, आपको करना चाहिए"। – BalusC

+0

@ बाल्लूसी राइट, मूल रूप से जो मैं अपने लंबे समय से चलने वाले तरीके में कहने की कोशिश कर रहा था। :) –

+0

आपके स्पष्ट उत्तर के लिए बहुत बहुत धन्यवाद। मैं खुद यूयूआई से निपटने से बहुत परिचित नहीं हूं, लेकिन मैं सीखने के लिए तैयार हूं। यदि मैं एक ऑनलाइन यूयूआई कंपाइलर का उपयोग करता हूं तो परिणाम वही होंगे? – Vitor

6

रखें फ़ाइलों को अलग करने और अपने पीछे के अंत का उपयोग कम करें और उन्हें अपने तैनाती की प्रक्रिया के हिस्से के रूप में gzip करने के लिए। जैसा कि अन्य ने उल्लेख किया है, यह आपके उपयोगकर्ताओं को अनावश्यक अनुरोध करने से बचाएगा और यह आपको एक विशाल बदसूरत फ़ाइल बनाए रखने के लिए बचाएगा।

यहां जोड़ा गया लाभ यह है कि आप वास्तव में उपयोगकर्ताओं को संपीड़ित लोगों की सेवा करते समय अपने स्रोत पेड़ (पढ़ने/आदि के लिए) में वर्बोज़, टिप्पणी, पूर्ण फाइलें रख सकते हैं।

+0

आपके स्पष्ट उत्तर के लिए बहुत बहुत धन्यवाद। बैक-एंड gzipping के बारे में बहुत बढ़िया टिप, लेकिन मैं एक साझा होस्टिंग पर हूं जो वर्तमान में इसका समर्थन नहीं करता है। :-(अरे ... – Vitor

+0

आप मैन्युअल रूप से आउटपुट को गजिप कर सकते हैं। विवरण प्रश्न में सर्वर साइड भाषा पर निर्भर करता है। – BalusC

+1

आमतौर पर आपको apache में gzipped परिसंपत्ति समर्थन को सक्षम करने की आवश्यकता होती है, ठीक है। ठीक है अगर आप इसके साथ काम नहीं कर सकते साझा होस्टिंग। जब आप VPS पर जाते हैं तो फिर से समीक्षा करना याद रखें :) – rfunduk

2

यह संभवत: एक देर से जवाब है, लेकिन मैं गूगल, माइक्रोसॉफ्ट, आदि CDN से मैं कर सकता के रूप में कई फ़ाइलों की सेवा करने की कोशिश करेंगे। यहां तक ​​कि यदि आप एकाधिक फ़ाइलों का संदर्भ देते हैं, तो संभावना है कि किसी अन्य साइट से पहले से डाउनलोड की गई फ़ाइल उच्च है और वे इसे फिर से डाउनलोड करने से बचेंगे।

कस्टम के रूप में, घर में, जावास्क्रिप्ट, मैं अपने जे एस के 99% एक jQuery प्लगइन्स में लिखते हैं, भले ही मैं केवल एक फार्म पर कि प्लगइन का उपयोग करने के लिए जा रहा हूँ। फिर मैं अपने सभी जेएस को एक फ़ाइल में जोड़ सकता हूं, इसे Google क्लोजर के माध्यम से चला सकता हूं, और इसे जाने के लिए तैयार हूं।

अन्य 1% वह स्थान है जहां प्रत्येक पृष्ठ प्लगइन का आह्वान करता है और जो भी पैराम की आवश्यकता होती है उसे पास करता है।

+0

बहुत बहुत धन्यवाद, मार्क। आपने मुझे बहुत सारी जानकारी दी है। :) – Vitor

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