10

मैं अपने MVC परियोजना में एकल फ़ाइलों में कई js/सीएसएस फ़ाइलों के संयोजन के लिए एक समाधान को लागू करने की योजना बना रही है, लेकिन वर्तमान में मैं निम्नलिखित दो संभावनाएं बीच शक:एमवीसी में जेएस/सीएसएस के संयोजन का कोई अनुभव?

Telerik एक्सटेंशन ASP.NET के लिए MVC (www। telerik.com/products/aspnet-mvc.aspx)

  • वेब संपत्ति के समूहों का समर्थन करता है
  • कैशिंग समूहों का समर्थन करता है एक अनुरोध में एक से अधिक फ़ाइलों के संयोजन का समर्थन करता है
  • कैशिंग अक्षम किया गया है जब आवेदन संपत्ति के
  • समूह masterpage या (आंशिक) को ध्यान में रखते परिभाषित किया जाना चाहिए डीबग मोड में है
  • gzip संपीड़न का समर्थन करता है
  • का समर्थन करता है CDN
  • केवल एक संपीड़न/संयोजन समाधान की तुलना में अधिक (जैसे । JQuery सहायकों)

Combres - वेबफ़ॉर्म & MVC क्लाइंट-साइड संसाधन कम्बाइन लाइब्रेरी (combres.codeplex.com)

  • का समर्थन करता है को कम करने से संसाधनों एक अनुरोध में एक से अधिक फ़ाइलों के संयोजन का समर्थन करता है
  • वेब संपत्तियों के समूह का समर्थन करता है
  • समूहों की कैशिंग का समर्थन करता है
  • Sup समूहों के बंदरगाहों संस्करणों
  • debugmode (अक्षम कर देता है कैशिंग/कम करने) का समर्थन करता
  • संपत्ति का समूह एक वेब config अनुभाग में परिभाषित किया जाना चाहिए
  • gzip संपीड़न
  • एक कस्टम मार्ग का समर्थन करता है (ब्राउज़र का संचय और सर्वर के कैश को अमान्य कर) जोड़ा जाना चाहिए
  • का समर्थन करता है कस्टम फ़िल्टर
  • YUI कंप्रेसर पुस्तकालय

किसी को भी अनुभव w है करता है का उपयोग करता है इनमें से एक या शायद एक और संयोजन समाधान? मैं विशेष रूप से वाईएसएलओ स्कोर (पहले और बाद में) और/या संपीड़न आंकड़े/प्रदर्शन में रूचि रखता हूं।

+0

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

+0

मैं आपसे सहमत हूं कि समांतर कनेक्शन के कारण सभी फ़ाइलों को 1 में संयोजित करना अब सबसे कुशल विकल्प नहीं है, लेकिन हमारे पास अभी भी

उत्तर

1

क्या आप उपलब्ध होने पर टेलीरिक एमवीसी एक्सटेंशन का उपयोग करने की योजना बना रहे हैं? यदि ऐसा है, तो उनके स्क्रिप्ट संयोजक प्राकृतिक पसंद की तरह दिखते हैं, क्योंकि उनके विजेट इसके साथ एकीकृत होते हैं ...

यदि आप एकाधिक स्रोतों से स्क्रिप्ट और सीएसएस संसाधनों का उपयोग करने जा रहे हैं, तो एक अच्छी पुरानी शैली के बारे में कैसे पसंद के अपने निर्माण पर्यावरण में लिपि बनाएँ?

  • यह आम तौर पर पाठ फ़ाइलें विलय और बाहरी कम्प्रेसर चलाने के लिए एक निर्माण उपकरण स्थापित करने के लिए आसान है।
  • एक निर्माण उपकरण का उपयोग निरंतर एकीकरण और एक-चरण तैनाती के लिए एक प्राकृतिक फिट है।
  • और आप आसानी से स्थिर अधिकतम डाउनलोड गति और कम से कम सर्वर भूमि के ऊपर के लिए एक separate cookie-less domain से की सेवा फ़ाइल कर सकते हैं।
  • और यदि आवश्यक हो, तो बाद में इसे सीडीएन जोड़ना आसान हो जाएगा। (AFAIK Teleriks समाधान एक CDN पर पहले से ही उपलब्ध किसी फ़ाइल से लिंक कर सकते हैं, लेकिन एक स्थानीय फाइल कम करें नहीं कर सकता है और एक CDN पर अपलोड करें।)

मैं विशेष रूप से YSlow स्कोर में दिलचस्पी रखता हूँ (पहले और बाद में) और/या संपीड़न आंकड़े/प्रदर्शन।

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

यदि आप एमवीसी, के अंदर खनन रखना पसंद करते हैं तो यह पुस्तकालय आईएमएचओ की परिपक्वता तक उबाल जाता है। मुझे नहीं पता कि अभी कौन सा शीर्ष चयन होना चाहिए। लेकिन IncludeCombiner भी एक नज़र डालें; यह part of MVCContrib now है, और इस तरह भविष्य में जोखिम का अच्छा सौदा होगा।

+0

मैंने टेलीरिक एमवीसी एक्सटेंशन से वेब एसेट मैनेजर के नए संस्करण का उपयोग करने का फैसला किया, अधिकांशतः नवीनतम संस्करण के अतिरिक्त विकल्पों (उदाहरण के लिए कोडों में या वेब कॉन्फ़िगरेशन में संपत्तियों को परिभाषित करना)। इसके अलावा हम पहले से ही टेलरिक घटकों का उपयोग करते हैं और मैं उम्मीद करता हूं और उम्मीद करता हूं कि इनमें से बहुत से (asp.net AJAX) घटक निकट भविष्य में "एमवीसी अनुकूल" बन जाते हैं और उसी वेब एसेट्स प्रबंधन समाधान का उपयोग करते हैं। –

1

मैं this approach का उपयोग कर रहा हूं (वास्तव में, मुझे लगता है कि टेलरिक के नीचे क्या है)।
एक आकर्षण की तरह काम करता है।

+0

हां, मुझे लगता है कि एएसपी.नेट एमवीसी के लिए टेलीरिक एक्सटेंशन कुछ और संभावनाओं के साथ उस दृष्टिकोण पर आधारित हैं। –

+0

लेकिन मैं एक असली जवाब नहीं दे सकता, क्योंकि मैंने कंस्ट्रर्स का उपयोग नहीं किया है। मुझे बस इसकी आवश्यकता नहीं थी। :) –

+0

@ आर्निस एल: हां, काजी मांजुर टेलीरिक एमवीसी एक्सटेंशन के डेवलपर्स में से एक है, इसलिए हां, यही है कि टेलीरिक का उपयोग करता है (शायद अब थोड़ा अद्यतन संस्करण में)। –

3

आप MvcContrib.IncludeHandling इस्तेमाल कर सकते हैं। समर्थन करता है:

  • एक अनुरोध
  • का मेल सीएसएस
  • जे एस के संयोजन में एक से अधिक फ़ाइलों का मेल
  • MvcContrib.Filters.DebugFilter के माध्यम से डीबग मोड
  • कैश-हेडर
  • GZip/कम करें संपीड़न
  • विन्यास
  • टी के डिफ़ॉल्ट कार्यान्वयन बाहर गमागमन वह भागों में यह आपके अपने कार्यान्वयन के साथ निर्भर करता है (उदाहरण के लिए; बाहर स्वैप) अपनी कार्यान्वयन के साथ कैश
  • पंजीयन विचारों के साथ ही स्वामी में शामिल हैं - डुप्लिकेट पंजीकरण अनदेखी करेंगे।

सभी रन-टाइम में होता है; कोई बिल्ड-कदम इत्यादि की आवश्यकता नहीं है। कोई कस्टम मार्ग आवश्यक है। YUICompressor का उपयोग करता है।

+0

ओह, दुह; यह नहीं पढ़ा कि आप इसे पहले से ही चेक आउट कर चुके हैं। :-) –

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