我找不到这个问题的正确答案。我看到还有其他几个类似的问题,但它们并没有给我提供合适的答案。
在Visual Studio中,有没有办法在应用程序发布时自动压缩应该压缩的所有文件(HTML,XML,CSS)?
在服务器上拥有所有额外的空白区域,注释和其他内容似乎有点无意义和浪费。我找了不同的扩展和NuGet包,但一直找不到能为我提供解决方案的东西。
答案 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);