2009-05-19 9 views
6

क्या कोई मूल संपीड़न (जावास्क्रिप्ट/सीएसएस फाइलों के लिए) ASP.NET में उपलब्ध है?एएसपी.नेट - स्क्रिप्ट और सीएसएस संपीड़न

+0

किस प्रकार का संपीड़न: छोटाकरण/पैकिंग या gzip/deflate? –

+0

minification/packing और gzip/deflate के बीच अंतर के बारे में सुनिश्चित नहीं है। जो मैं खोज रहा हूं वह एस्पनेट को स्क्रिप्ट और सीएसएस फ़ाइलों को संपीड़ित करने के लिए कुछ मूल तरीका है, इसलिए सर्वर से अनुरोध की जाने वाली वास्तविक फ़ाइलें छोटी हैं। –

उत्तर

4

Professional ASP.NET 3.5 के परिशिष्ट में स्कॉट हैनसेलमैन Packer for .NET के बारे में बात करता है। यह उत्पादन की तैनाती आदि

+0

ऐसा लगता है कि हमने एक ही समय में एक ही जवाब पोस्ट किया :-) –

+0

ऐसा लगता है कि पैकर सबसे नज़दीकी चीज है जो .NET में देशी संपीड़न के लिए आता है। –

+0

पैकर पृष्ठ पर एक अनुभाग "जेएसएमन बनाम पैकर" है जो कहता है कि JSMin पैकर से अधिक कुशल हो सकता है। याहू कंप्रेसर पेज पर (http://developer.yahoo.com/yui/compressor/) यह बताता है कि याहू कंप्रेसर JSMin से अधिक कुशल है, इसलिए ऐसा लगता है कि याहू कंप्रेसर एक अच्छा उम्मीदवार हो सकता है भले ही यह .NET के मूल निवासी न हो। वातावरण। –

1

आईआईएस में जीजीआईपी/डिफ्लेट संपीड़न समर्थन आईई 6 को छोड़कर सभी आधुनिक ब्राउज़रों के साथ संगत है। आईआईएस 7 के लिए इस पृष्ठ की जांच करें: http://www.iis.net/ConfigReference/system.webServer/httpCompression

4

आप Packer का उपयोग कर सकते हैं।

यह यूटिलिटी जावास्क्रिप्ट संपीड़न और/या "minifying", और सीएसएस "minifying" का समर्थन करता है।

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

+0

ग्रेट दिमाग एक जैसे सोचते हैं ;-) – RedWolves

1

इसके अलावा अन्य उत्तर और टिप्पणी करने के लिए के लिए MSBuild के साथ एकीकृत और जावास्क्रिप्ट फ़ाइलें पैक करेंगे, तो आप का उपयोग याहू! की YUI Compressor और यह एकीकरण अपने निर्माण और तैनाती की प्रक्रिया में करने के लिए यह एक MSBuild Task बना सकते हैं।

+0

सहायक। धन्यवाद। –

0

मैं मेरे लिए यह करने के लिए कुछ लिखा है, आप इसे यहां से डाउनलोड कर सकते हैं: http://www.picnet.com.au/blogs/Guido/post/2009/12/10/Javascript-runtime-compilation-using-AspNet-and-Googles-Closure-Compiler.aspx

यह गूगल की क्लोजर संकलक जो बहुत भयानक है उपयोग करता है।

धन्यवाद

गुइडो

6

गरमागरम की कोशिश करो। यह आपके जावास्क्रिप्ट, स्टाइलशीट, और डॉटलेस फ़ाइलों को मैश करता है, छोटा करता है और मान्य करता है। आप यूयूआई कंप्रेसर या Google क्लोजर कंपाइलर का उपयोग कर सकते हैं।

http://chirpy.codeplex.com/

या, अधिक जानकारी के लिए, बाहर की जाँच:

http://www.weirdlover.com/2010/05/22/visual-studio-add-in-for-dotless-js-and-css-files/

+1

हे वीर्डलोवर! यह चंचल चीज़ आश्चर्यजनक लगती है। क्या यह रनटाइम पर फ़ाइलों को संपीड़ित करना भी संभव है? मेरा मतलब है कि प्रत्येक अनुरोध में सर्वर निर्दिष्ट फ़ाइलों को संकुचित करेगा (chirp.config में) और प्रतिक्रिया में minified मैश किए गए संस्करण को वापस ... posible? – danfromisrael

+1

अरे दान - हम ऐसा कुछ बना रहे हैं। लेकिन, इस बीच, आप SquishIt, Combres को देख सकते हैं, या आप इस जंगली पहिया के साथ futz कर सकते हैं: http://www.weirdlover.com/2010/05/10/zcontroller-asp-net-mvc-controller-fo -आप-स्क्रिप्ट-शैलियों-छवियों/ –

+0

SquishIt और Combres अच्छा लग रहा है लेकिन ऐसा लगता है कि अभी तक बहुत सारे डाउनलोड/सामुदायिक समर्थन नहीं हैं ... किसी भी विचार के साथ उस संस्करण के साथ अगला संस्करण कब है? धन्यवाद! – danfromisrael

1

सीएसएस संयोजन और minification के लिए StyleManager की कोशिश करो। यह यूयूआई कंप्रेसर अंडर-द-हूड का उपयोग करता है।

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

सबसे महत्वपूर्ण बात यह है कि यह आपकी सीएसएस फ़ाइलों को भी जोड़ती है। तो डाउनलोड करने के लिए 10 सीएसएस फाइलों की तरह होने के बजाय यह केवल 1 होगा, जो संकुचित भी होगा।

0

यहां मेरा तरीका है: एमवीसी का उपयोग करें। प्रक्रिया जेएस | सीएसएस सामग्री एमवीसी नियंत्रक के कार्यों के माध्यम से। एकाधिक फ़ाइलों को एक में मिलाएं। कैश में संग्रहीत करने से पहले फ्लाई पर सीएसएस को कम करें और obfuscate। कैश परिणाम। कैश पर निर्भरता का उपयोग करें। गतिशील सामग्री के लिए gzip सक्षम करें। कैश सुविधा से पहले gzip सक्षम करें।

ASP.NET MVC Js/Css Composer/Compressor का उपयोग करके कार्रवाई विधियों पर कस्टम विशेषताओं को जोड़कर सबकुछ किया जा सकता है।

नमूना:

public class JsController : Controller 
{ 
    [Utility.Processors.JsCompress] 
    [OutputCache(Duration = 3600)] 
    public ActionResult Jquery() 
    { 
     return View(); 
    } 
} 

आप CustomTextPostProcessingAttribute से निकाले जाते हैं और पाठ सामग्री के किसी भी प्रकार के लिए अपनी खुद की postprocessing कर सकते हैं, आप की जरूरत है।

0

मैंने अभी कुछ सीखा है: आप JavaScript via windows console चला सकते हैं। मैं cssmin.js का प्रशंसक हूँ; तो, यह प्लस विंडोज कंसोल = जीत! आपको बस इतना करना है डाउनलोड cssmin.js, दृश्य स्टूडियो में अपने वेब परियोजना पर एक फ़ोल्डर में रख दें और निम्नलिखित के बाद निर्माण घटना को जोड़ने है:

type "$(ProjectDir)css\*.css" | cscript //NoLogo "$(SolutionDir)tools\cssmin.js" > "$(ProjectDir)css\core.min.css" 

इस रखता कर अपनी परियोजना को संपादित करने के लिए होने से as ajaxmin would have you to do

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