2

赏金:赏金给共享 Windows 的独立命令行 CSS 缩小器的人(即,像 JSMin 和 CSSTidy 一样运行,但实际上是缩小而不是“美化”和删除属性

使用 Visual Studio 2010 Post-Build Events,我目前正在通过.min在构建解决方案/项目时合并和缩小文件以用于生产来减少我们的 CSS/JS 框架。

对于我在JSmin.exeCSS 中使用的 JS,CSSTidy.exe

对 JSmin 来说一切正常,但 CSSTidy 正在删除所有 IE7 *propertyhack 和 display-table.htc ( -dt-display:) 使用的其他属性。如果我使用该--preserve_css=true设置,它会保留注释(我不想要)并且 * 属性已被*剥离(我想要)。

例子:

.row-fluid .span1 {width: 6.382978723%; *width: 6.329787233638298%;}

变为(注意它也添加了换行符):

.row-fluid .span1 {
width:6.382979%;
width:6.329787%
}

这里提出的问题是我正在寻找的问题,答案是针对 HTML Purifier(我不使用)而不是 CSSTidy 替代方案给出的。

所以问题:

  • 是否有可能使 CSSTidy 不删除 IE7 黑客或其他无效属性(我实际使用)?
  • 是否有任何其他独立/命令行 CSS 压缩器(特别是一个实际上缩小而不是整理它的压缩器)?(赏金)

观察:VS 解决方案是 TFS 共享的,不能让所有开发人员安装 YUI 或任何其他非独立框架,也不能安装其他语言框架,如 Ruby/PHP。目前 jsmin.exe 和 csstidy.exe 是最好的,因为我刚刚将两者都添加到解决方案中并在后期事件中调用它们。

4

1 回答 1

1

在花了整个周五的时间搜索并没有找到一个好的工具之后,今天我给了一个新的镜头,终于找到了一个可以缩小 CSS 和 JS 的工具。

这个名字不是很简单,所以很难找到:Microsoft Ajax Minifier

在要求安装时,我只是将文件夹内容复制到项目中并像魅力一样工作。


对于那些想要将其用作 Post-Event 构建的人:

考虑到您有一个 .js 文件夹,并且您想要连接并缩小所有以 .js 结尾的文件.debug.js

type "$(ProjectDir)\Scripts\*.debug.js" | "$(ProjectDir)tools\AjaxMin" -JS -comments:none –global:jQuery,$ -out "$(ProjectDir)\Scripts\myProject.min.js" -clobber
  • $(ProjectDir)是项目文件夹;
  • typecmd.exe用于显示一个或多个文件内容的命令。所以我命令获取所有 *.debug.js 文件的内容并留在STDIN;
  • 调用 AjaxMin.exe(不需要.exe我复制到我的\tools\文件夹的那个;
  • 根据需要传递参数-argName:argValue;
  • 使用-out和路径名以及将要输出的文件;
  • -clobber如果文件存在则添加覆盖

现在,每次我需要更新我的 css 和 js 文件时,我都会重新/构建项目,瞧,缩小 CSS 和 JS。

于 2013-05-27T17:26:44.467 回答