2012-07-13 22 views
7

Bu soruya doğru bir cevap bulamıyorum. Gördüğüm birkaç benzer soru var, ama bana iyi cevaplar vermiyorlar.Yayınla html ve css'yi otomatik olarak sıkıştır?

Visual Studio'da, uygulama yayınlandığında otomatik olarak sıkıştırılması gereken tüm dosyaları (HTML, XML, CSS) sıkıştırmanın bir yolu var mı?

Sunucudaki tüm ekstra beyaz alanlara, yorumlara ve diğer şeylere sahip olmak biraz anlamsız ve savurgan görünüyor. Farklı Uzantıları ve NuGet paketlerini aradım ancak bir çözüm sunan bir şey bulamadım.

cevap

6

Cassette gibi bir şey istiyorsunuz.

kaset otomatik bitiştirir, küçültür, önbelleğe ve sürümleri tüm JavaScript, CoffeeScript, CSS, AZ, Sass ve HTML şablonlar sıralar.

Kullanmak çok basit, sadece belgelerini oku. Kurulum için en fazla 5 dakika sürer.

yüklemek Nuget Paketi Konsolu açıp yazın:

Install-Package Cassette.Web 

Bu yükleme özen ve sizin için bazı şeyleri düzeltirken olacaktır.

yardım veya öneri için, onların Google Grubu check out:

http://groups.google.com/group/cassette


da SquishIt kullanmanın seçeneği yoktur. MVC3 ile iyi çalışıyor ve Kaset ile aynı amaca hizmet ediyor. Ancak şahsen kaset tercih ederim.

http://lostinthegc.wordpress.com/2012/01/14/using-squishit-in-an-asp-net-mvc3-web-application/

+0

Kaset yayınlama aşamasında çalışabilir mi, biliyor musunuz? TIA. – superjos

4

Başka bir yararlı araç Chirpy. VS ile 2010'a kadar kullandım. Basit bir XML dosyasıyla demetleri tanımlıyorsunuz. Herhangi bir dosya (css, daha az, js, ...) değiştirilmiş sürümü değiştirirse otomatik olarak (yeniden) arka planda oluşturulduğunda VS'ye entegre olur. Aşağıdaki örnek dosyası (.chirp.config) verilen CSS dosyaları paketlenmiş ve external.min.css ve internal.min adında iki dosyalarına minified edilir ile

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

.css:

<?xml version="1.0"?> 
<root> 
    <FileGroup Name="external.css"> 
    <File Path="css/jquery.ui.core.css" /> 
    <File Path="css/jquery.ui.theme.css" /> 
    <File Path="css/jquery.ui.button.css" /> 
    <File Path="css/default.css" /> 
    </FileGroup> 
    <FileGroup Name="internal.css"> 
    <File Path="css/jquery.ui.core.css" /> 
    <File Path="css/jquery.ui.theme.css" /> 
    <File Path="css/jquery.ui.autocomplete.css" /> 
    <File Path="css/jquery.ui.progressbar.css" /> 
    <File Path="css/jquery.ui.accordion.css" /> 
    <File Path="css/default.css" /> 
    <File Path="css/datatables.css" /> 
    </FileGroup> 
</root> 
1

Ben Nuget üzerinde WebMarkupMin paketi kullanmak. Programımda HTML çıktısı alırken kullandığım oldukça güzel bir HTML minifier'ına sahip:

var htmlMinifier = new HtmlMinifier(); 
var result = htmlMinifier.Minify(myHTML, generateStatistics: false); 
Console.WriteLine(result.MinifiedContent); 
İlgili konular