在Publish上自动压缩html和css?

时间:2012-07-13 00:12:40

标签: asp.net asp.net-mvc-3 visual-studio-2010

我找不到这个问题的正确答案。我看到还有其他几个类似的问题,但它们并没有给我提供合适的答案。

在Visual Studio中,有没有办法在应用程序发布时自动压缩应该压缩的所有文件(HTML,XML,CSS)?

在服务器上拥有所有额外的空白区域,注释和其他内容似乎有点无意义和浪费。我找了不同的扩展和NuGet包,但一直找不到能为我提供解决方案的东西。

4 个答案:

答案 0 :(得分:6)

你需要像Cassette这样的东西。

  

Cassette自动排序,连接,缩小,缓存和   版本所有JavaScript,CoffeeScript,CSS,LESS,Sass和HTML   模板。

使用起来非常简单,只需阅读他们的文档即可。设置最多需要5分钟。

要安装,请打开NuGet Package Console并输入:

Install-Package Cassette.Web

这将负责为您安装和设置。

如需帮助或建议,请查看他们的Google小组:

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


还可以选择使用SquishIt。它适用于MVC3,与Cassette具有相同的用途。但是,我个人更喜欢Cassette。

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

答案 1 :(得分:4)

另一个有用的工具是 Chirpy 。我用VS直到2010年。 您正在使用简单的XML文件定义包。它集成到VS中,因此如果任何文件(css,less,js,...)发生更改,缩小版本将在后台自动(重新)呈现。

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

使用以下示例文件(.chirp.config)将给定的CSS文件捆绑并缩小为两个名为 external.min.css internal.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>

答案 2 :(得分:1)

答案 3 :(得分:1)

我在Nuget上使用WebMarkupMin包。它有一个很好的HTML minifier我在我的程序中生成HTML输出时使用:

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