【问题标题】:Automatically compress html and css on Publish?在发布时自动压缩 html 和 css?
【发布时间】:2012-07-13 00:12:39
【问题描述】:

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

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

在服务器上拥有所有额外的空白、cmets 和其他东西似乎有点无意义和浪费。我一直在寻找不同的 Extensions 和 NuGet 包,但找不到任何可以为我提供解决方案的东西。

【问题讨论】:

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


    【解决方案1】:

    你想要Cassette这样的东西。

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

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

    要安装,请打开 NuGet 包控制台并输入:

    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/

    【讨论】:

      【解决方案2】:

      另一个有用的工具是 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.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>
      

      【讨论】:

        【解决方案3】:
        【解决方案4】:

        我在 Nuget 上使用 WebMarkupMin 包。它有一个相当不错的 HTML 压缩器,我在我的程序中生成 HTML 输出时使用它:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-04
          • 1970-01-01
          相关资源
          最近更新 更多