2012-07-13 39 views
7

Tôi không thể tìm thấy câu trả lời phù hợp cho câu hỏi này. Tôi thấy có một vài câu hỏi tương tự khác đã được hỏi, nhưng họ không cung cấp cho tôi câu trả lời tốt.Tự động nén html và css trên Xuất bản?

Trong Visual Studio, có cách nào để nén tất cả các tệp sẽ được nén (HTML, XML, CSS) tự động khi ứng dụng được xuất bản không?

Có vẻ như hơi vô nghĩa và lãng phí khi có tất cả khoảng trắng, nhận xét và những thứ khác trên máy chủ. Tôi đã tìm các gói phần mở rộng và NuGet khác nhau, nhưng không thể tìm thấy bất kỳ thứ gì cung cấp cho tôi giải pháp.

Trả lời

6

Bạn muốn một cái gì đó như Cassette.

Cassette tự động sắp xếp, móc nối, minifies, cache và phiên bản tất cả JavaScript, CoffeeScript, CSS, LESS, Sass và HTML mẫu.

Rất dễ sử dụng, chỉ cần đọc tài liệu của họ. Mất tối đa 5 phút để thiết lập.

Để cài đặt, mở NuGet Package Console và gõ vào:

Install-Package Cassette.Web 

này sẽ chăm sóc cài đặt và thiết lập mọi thứ cho bạn.

Để được trợ giúp hoặc gợi ý, hãy kiểm tra Tập đoàn Google của họ:

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


Ngoài ra còn có tùy chọn sử dụng SquishIt. Nó hoạt động tốt với MVC3 và phục vụ cùng mục đích như Cassette. Tuy nhiên, cá nhân tôi thích Cassette hơn.

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

+0

Bạn có biết nếu băng có thể hoạt động trong giai đoạn Xuất bản không? TIA. – superjos

4

Một công cụ hữu ích khác là Chirpy. Tôi đã sử dụng nó với VS lên đến năm 2010. Bạn đang xác định các gói bằng một tệp XML đơn giản. Nó tích hợp vào VS vì vậy nếu bất kỳ tập tin (css, ít hơn, js, ...) thay đổi phiên bản rút gọn được tự động (lại) kết xuất trong nền.

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

Với tệp mẫu sau (.chirp.config) các tập tin CSS nhất định được đóng gói và minified thành hai tập tin có tên external.min.cssinternal.min.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

Tôi sử dụng gói WebMarkupMin trên Nuget. Nó có một trình chỉnh sửa HTML đẹp mắt mà tôi sử dụng khi tạo đầu ra HTML trong chương trình của mình:

var htmlMinifier = new HtmlMinifier(); 
var result = htmlMinifier.Minify(myHTML, generateStatistics: false); 
Console.WriteLine(result.MinifiedContent); 
Các vấn đề liên quan