43

मैं वर्तमान में प्रोटोटाइप एएसपी.नेट एमवीसी 3 समाधान पर काम कर रहा हूं जिसे कई परियोजना पुनर्लेखों (वेब ​​रूपों से) के आधार के रूप में उपयोग किया जाएगा।कैसेट बंडल बनाम एमवीसी 4 बंडल

मेरे पास जो लक्ष्य है, वह मेरे पास कुछ स्क्रिप्ट प्रबंधन को लागू करने के लिए है, जो वर्तमान में हमारे पास है।

MVC 3 एक दोष IMHO है: यदि आप विशिष्ट स्क्रिप्ट एक आंशिक दृश्य या टेम्पलेट दृश्य पर निर्दिष्ट की जरूरत है - आप को या तो खत्म हो सकता है हर एक निर्भर निर्दिष्ट करने के लिए जहां स्क्रिप्ट ब्लॉक गाया एचटीएमएल में स्थित या चल रहा है पर नियंत्रण खोने अभिभावक दृश्य पर जावास्क्रिप्ट फ़ाइल।

मैं वर्णित समस्या को हल करने के लिए एक ढांचे के रूप में http://getcassette.net/ का उपयोग करने पर गंभीरता से विचार कर रहा हूं। MVC के बंडल वास्तव में कैसेट के बंडल के जैसे दिखाई देते है और मैं फिर से उलझन में हूँ:

  1. मैं अब कैसेट को लागू करना चाहिए और से MVC4 बंडलों में माइग्रेट हालांकि, MVC4 बीटा की अंतिम रिलीज मुझे अपने आप को फिर से शक किया?

  2. मैं कुछ सरलीकृत स्क्रिप्ट प्रबंधक अपने आप (sth। स्क्रिप्ट की तरह MVC4 पूर्वावलोकन में सहायक वर्ग) को लागू करना चाहिए और उसके बाद MVC4

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

मुझे खुद को कैसेट के साथ कोई अनुभव नहीं है और मुझे तुलना करने के लिए वास्तव में कठिन लगता है और किसी भी उत्तर या संकेत की सराहना करता है।

संपादित करें: मैं बस लगा एक और विकल्प है कि वहाँ: MVC बंडलिंग के लिए स्थापित करने के बीटा nuget पैकेज: https://nuget.org/packages/Microsoft.Web.Optimization

निष्कर्ष: अधिक मैं MVC4 बंडल कार्यान्वयन में बड़ा अंतर मैं नोटिस देखो: एमवीसी 4 बंडल ऊपर वर्णित एमवीसी 3 मुद्दे को संबोधित नहीं करते हैं - वे बस & खनन बंडल करते हैं। इसके अलावा, कैसेट एक विशिष्ट स्थान पर स्क्रिप्ट टैग को प्रस्तुत करने में सक्षम नहीं है, यह उन्हें सही क्रम में आदेश देने में भी सक्षम है जो तुच्छ नहीं है। इसलिए फिलहाल मैं समाधानों से संतुष्ट नहीं हूं और मैं अपने स्वयं के सरल कार्यान्वयन के साथ आने की कोशिश करूंगा कि भविष्य में स्थिति में सुधार होगा।

लेकिन यदि आप 5+ निर्भरताओं और वेब.कॉन्फिग का गुच्छा आपके प्रोजेक्ट में बदलने से डरते नहीं हैं - कैसेट के लिए जाएं। मुझे उम्मीद है कि इसे कार्यक्षमता डुप्लिकेशंस को कम करने के लिए अंदर एमवीसी बंडलिंग का उपयोग करने के लिए किसी बिंदु पर अपडेट किया जाएगा, और उम्मीद है कि, अधिक मॉड्यूलर बन जाएगा।


अद्यतन: कैसेट के संस्करण 2.0 के रूप में यह अब कॉफी स्क्रिप्ट और कैसेट के अन्य विशेषताओं में शामिल करने के लिए अगर आप सिर्फ बंडलों और जे एस निर्भरता संकल्प की जरूरत है आवश्यक है। तो इस बिंदु पर कैसेट मेरे लिए एक स्पष्ट विजेता है।

+0

सभी अपडेट के लिए धन्यवाद, अकेले प्रश्न ने बहुत मदद की! :) – keisar

+1

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

उत्तर

10

एएसपी.नेट एमवीसी बंडलिंग के बारे में जानकारी यहां है: http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx

ASP.NET एक सुविधा है जो "बंडल" करने के लिए या करता है कि जोड़ रहा है कम HTTP अनुरोध में "गठबंधन" कई CSS और JavaScript फ़ाइलों। यह ब्राउज़र को बहुत कम फ़ाइलों का अनुरोध करने का कारण बनता है और बदले में उन्हें लाने के लिए आवश्यक समय कम कर देता है।

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

ऐसा लगता है कि यह अनिवार्य रूप से कैसेट जैसा ही है। अन्य सभी चीजें समान हैं, समाधान का उपयोग करें जो एएसपी.नेट एमवीसी के मूल निवासी है।

+0

धन्यवाद, मैंने पहले इस ब्लॉग को पढ़ा था, और मेरे लिए पुस्तकालयों में से किसी एक नए उपयोगकर्ता के रूप में यह वही दिखता है, मुझे आश्चर्य है कि वर्तमान में एमवीसी बंडल में मौजूद कैसेट में कुछ कम दिखाई/स्पष्ट विशेषताएं/उपयोग पैटर्न नहीं हैं कार्यान्वयन। – bushed

+0

कैसेट कैशिंग और खनन के बारे में थोड़ा अधिक आक्रामक प्रतीत होता है, लेकिन यदि आपको खून बहने की आवश्यकता नहीं है ... –

+0

इस बिंदु पर यह सभी कैसेट से डिफ़ॉल्ट एमवीसी 4 कार्यान्वयन में स्विच करने के जोखिम का मूल्यांकन करने के लिए आता है (मैं काफी हूँ आश्वस्त है कि जैसे ही यह उपलब्ध होगा, हम अपनी परियोजनाओं को माइग्रेट करेंगे)। – bushed

9

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

विचार करने के लिए एक और बात यह है कि कैसेट कम संकलन करता है। मुझे यकीन नहीं है कि क्या एमवीसी 4 बंडलिंग करता है या नहीं, क्योंकि मेरे पास पढ़ने के लिए समय नहीं है।

+1

AFAIK यह नहीं करता है, हालांकि डॉटलेस बहुत अलग nuget पैकेज है। इस अर्थ में कैसेट अभी भी एमवीसी 4 पर्यावरण में डॉटलेस की तुलना में काफी भारी है। – bushed

4

कैसेट अभी भी एक दिलचस्प विकल्प है क्योंकि इसमें कम और ताबूत के लिए मूल समर्थन है। यदि आप क्लाइंट साइड एमवीसी फ्रेमवर्क (रीढ़ की हड्डी, नॉकआउट इत्यादि) में दिलचस्पी रखते हैं तो यह HTML टेम्पलेट्स के लिए भी समर्थन करता है

+0

मुझे अभी कैसेट के बारे में क्या पसंद नहीं है (जब तक कि मुझे कुछ याद नहीं आ रहा है) सुविधा कॉन्फ़िगरेशन की कमी है: हमें कॉफी स्क्रिप्ट समर्थन की आवश्यकता नहीं है। dotLESS कार्यान्वयन ठीक है - यह अभी भी वैकल्पिक है। टेम्पलेट्स के लिए - मुझे कैसेट में कितना लाभ नहीं दिखता है - पार्टियल व्यू से बहुत अलग नहीं दिखता है .. – bushed

+0

मुझे लगता है कि कम, एसएएसएस, और कॉफीस्क्रिप्ट अब Nuget के माध्यम से सभी अलग प्लगइन्स हैं: http://getcassette.net/ –

1

बस इसके अपडेट के रूप में, विजुअल स्टूडियो 2012 के लिए अद्यतन 2 पैकेज में कम और कॉफीस्क्रिप्ट समर्थन जोड़ा गया था, इसलिए यह अधिक से अधिक देखना शुरू हो रहा है जैसे कि यह लंबे समय तक कैसेट के साथ जाने के बजाय एमवीसी 4 में समर्थित बंडलिंग/मिनिफिकेशन के मूल कार्यान्वयन के लिए आवश्यक परिवर्तनों को जोड़ना बेहतर होगा।

+1

क्या मैं यह कहकर सही हूं कि आंशिक रूप से स्क्रिप्ट आवश्यकताओं को पंजीकृत करने के लिए अभी भी "अंतर्निहित" समर्थन नहीं है? (उदाहरण के लिए कई आंशिक घोषणाएं हैं कि उन्हें fancybox.js को संदर्भित करने की आवश्यकता है और इसमें एक बार और केवल आवश्यकता होने पर फ्रेमवर्क सौदा है)। –

+0

@JamesMorcom क्या आप इस बारे में और अधिक जानते हैं? अभी भी इस बारे में सोच रहा हूँ। अगर एएसपी.NET पृष्ठ के लिए विश्व स्तर पर एक बार स्क्रिप्ट निर्भरताओं को हल कर सकता है तो अच्छा होगा। – oligofren

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