这个问题我找不到合适的答案。我看到还有其他一些类似的问题被问到,但它们并没有为我提供体面的答案。
在 Visual Studio 中,有没有办法在应用程序发布时自动压缩所有应该压缩的文件(HTML、XML、CSS)?
在服务器上拥有所有额外的空白、评论和其他东西似乎有点无意义和浪费。我一直在寻找不同的扩展和 NuGet 包,但一直找不到任何可以为我提供解决方案的东西。
这个问题我找不到合适的答案。我看到还有其他一些类似的问题被问到,但它们并没有为我提供体面的答案。
在 Visual Studio 中,有没有办法在应用程序发布时自动压缩所有应该压缩的文件(HTML、XML、CSS)?
在服务器上拥有所有额外的空白、评论和其他东西似乎有点无意义和浪费。我一直在寻找不同的扩展和 NuGet 包,但一直找不到任何可以为我提供解决方案的东西。
你想要像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/
另一个有用的工具是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.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>
我在 Nuget 上使用WebMarkupMin包。它有一个相当不错的 HTML 缩小器,我在我的程序中生成 HTML 输出时使用它:
var htmlMinifier = new HtmlMinifier();
var result = htmlMinifier.Minify(myHTML, generateStatistics: false);
Console.WriteLine(result.MinifiedContent);