8

मैं BundleConfig में निम्नलिखित ScriptBundle द्वारा जोड़ा जा रहा: मुझे लगता है कि नोटिस जब डिबगिंगMinified स्क्रिप्ट BundleConfig

@Scripts.Render("~/bundles/javascript") 

:

bundles.Add(new ScriptBundle("~/bundles/javascript").Include(
     "~/Scripts/jquery-1.*", 
     "~/Scripts/load-image.min.js", 
     "~/Scripts/bootstrap.*", 
     "~/Scripts/bootstrap-image-gallery.*", 
     "~/Scripts/my.global.js")); 

इस रूप में मेरे _Layout.cshtml के अंत में संदर्भित है इस स्क्रिप्ट रेंडरिंग का आउटपुट है:

<script src="/Scripts/jquery-1.8.2.js"></script> 
<script src="/Scripts/bootstrap.js"></script> 
<script src="/Scripts/bootstrap-image-gallery.js"></script> 
<script src="/Scripts/my.global.js"></script> 

ध्यान दें कि load-image.min.js स्क्रिप्ट मिस्सी है एनजी? मैं जो चाहता हूं वह वही छोटा स्क्रिप्ट का उपयोग करना है चाहे मैं डिबगिंग कर रहा हूं या नहीं। रिलीज स्थितियों के तहत स्क्रिप्ट को बंडल जेएस फ़ाइल में शामिल किया गया है।

मुझे लगता है कि यह 'मिनी' देख रहा है, एक गैर-मिनीफाइड संस्करण की तलाश में है, एक नहीं ढूंढ रहा है, फिर यह तय करना कि सबसे अच्छा क्या है इसे पूरी तरह से अनदेखा करना है। प्रतिभाशाली। अगर मैं load-image.min.js की एक प्रति बना देता हूं, तो इसे load-image.js पर कॉल करें और फिर इसे "लोड-इमेज" के रूप में बंडल कॉन्फिग में संदर्भित करें। मुझे लगता है कि यह दोनों कॉन्फ़िगरेशन में शामिल है लेकिन क्या करने का मुद्दा है वो करें?

मुझे लगता है कि मुझे यहां कुछ याद आ रहा है। मेरे पास un-minified संस्करण नहीं है और मैं स्पष्ट रूप से इसके बारे में परवाह नहीं करता हूं। यह मेरे बूटस्ट्रैप छवि गैलरी प्लगइन द्वारा उपयोग किया जाता है और कुछ और नहीं। वहाँ कोई विचार है?

+0

+1 'तो यह तय करने के लिए कि सबसे अच्छा क्या है इसे पूरी तरह से अनदेखा करना है। शानदार। 'यह अक्सर होता है :) – ppumkin

उत्तर

4

यह व्यवहार सुधार किया गया है (निर्धारित):

public static void AddDefaultIgnorePatterns(IgnoreList ignoreList) 
{ 
    if (ignoreList != null) 
    { 
     ignoreList.Ignore("*.intellisense.js"); 
     ignoreList.Ignore("*-vsdoc.js"); 
     ignoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled); 
     ignoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled); 
     ignoreList.Ignore("*.min.css", OptimizationMode.WhenDisabled); 
     return; 
    } 
    else 
    { 
     throw new ArgumentNullException("ignoreList"); 
    } 
} 

अधिक जानकारी रिहाई। हमने सभी पुरानी डिफ़ॉल्ट अनदेखी सूची प्रविष्टियों को एक नई निर्देशिकाफिल्टर सूची में अनदेखा कर दिया है जिसका उपयोग केवल * .js जैसे खोज पैटर्न सहित किया गया था जो इस कार्यक्षमता के लिए मूल उद्देश्य था। नतीजतन यह अब एक मुद्दा नहीं होना चाहिए जब आप अलग-अलग फाइलों को स्पष्ट रूप से शामिल कर रहे हों।

नोट: एक जगह यह अभी भी एक मुद्दा हो सकता है यदि आप jquery- {version} .min.js जैसे कुछ शामिल करने का प्रयास करते हैं।

+0

क्या आप विस्तृत कर सकते हैं? हम इसे कैसे प्राप्त कर सकते हैं? आप किस सॉफ्टवेयर संस्करण का जिक्र कर रहे हैं (1.1.0-अल्फा 1)? क्या आप कृपया एक उदाहरण दिखा सकते हैं कि कोई भी फ़ाइल को स्पष्ट रूप से कैसे शामिल कर सकता है (उदाहरण के लिए 'test.min.js') जब गैर-minified गुम है। – Odys

5

, ignoreList, जो आप अगर आप की जरूरत है साफ कर सकते हैं नहीं है यह दिखाई देता है: 1.1.0-alpha1 में Advanced Options of ASP.NET Bundling and Minification

+0

धन्यवाद @webdeveloper - इस पर एक त्वरित नज़र से संकेत मिलेगा कि मैं जो चाहता हूं उसे प्राप्त करने के लिए मुझे पूरी तरह से इस अनदेखी सूची को साफ़ करने और स्पष्ट फ़ाइल नामों के साथ फिर से पॉप्युलेट करने की आवश्यकता होगी। जाहिर है, मैं विकास में minified फ़ाइलों को अनदेखा करने की क्षमता को बनाए रखना चाहता हूं, लेकिन इस एक स्पष्ट अपवाद के साथ। क्या आप जानते हैं कि यह संभव है? – getsetcode

+0

@tomtroughton यह सूची मास्क द्वारा काम करती है, स्पष्ट फ़ाइल नाम टाइप करने की आवश्यकता नहीं है। इसके अलावा आप डीबग के लिए कुछ तर्क लिखने के लिए '#ifdef DEBUG' का उपयोग कर सकते हैं। – webdeveloper

+0

आप 'BundleTable.EnableOptimizations = true' सेट कर सकते हैं, डीबग मोड में खनन को सक्षम करने के लिए, इसलिए वह .min फ़ाइलों को अनदेखा नहीं करेगा, लेकिन मुझे लगता है कि यह बिल्कुल नहीं है, जो आप करना चाहते हैं, क्योंकि पूरे बंडल को छोटा और कठिन बनाया जाएगा डीबग करने के लिए। – Kevkong