8

这个问题我找不到合适的答案。我看到还有其他一些类似的问题被问到,但它们并没有为我提供体面的答案。

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

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

4

4 回答 4

6

你想要像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/

于 2012-07-13T00:28:02.973 回答
4

另一个有用的工具是Chirpy。我在 2010 年之前将它与 VS 一起使用。您正在使用简单的 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>
于 2012-10-17T13:26:18.540 回答
1

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

var htmlMinifier = new HtmlMinifier();
var result = htmlMinifier.Minify(myHTML, generateStatistics: false);
Console.WriteLine(result.MinifiedContent);
于 2014-02-14T01:43:46.500 回答