悬赏:悬赏给共享适用于 Windows 的独立命令行 CSS 压缩器的人(也就是说,像 JSMin 和 CSSTidy 一样运行,但实际上是压缩而不是“美化”和删除属性
使用 Visual Studio 2010 Post-Build Events
,我目前正在努力通过将文件合并并缩小到 .min
中来减少我们的 CSS/JS 框架,以便在生产时使用构建解决方案/元素。
对于我使用的 JS JSmin.exe
而对于 CSS,CSSTidy.exe
JSmin 没问题,但 CSSTidy 正在删除所有 IE7 *property
hack 和 display-table.htc (-dt-display:
) 使用的其他属性。如果我使用 --preserve_css=true
设置,它会保留注释(我不想要的)并且 *property 会删除 *
(我想要的) ).
示例:
.row-fluid .span1 {width: 6.382978723%; *width: 6.329787233638298%;}
变成(注意它也添加了换行符):
.row-fluid .span1 {
width:6.382979%;
width:6.329787%
}
提出的问题here是我正在寻找的但是答案是针对 HTML Purifier(我不使用)而不是 CSSTidy 替代品给出的。
所以问题:
- 是否可以让 CSSTidy 不删除 IE7 黑客或其他无效属性(我实际使用的)?
- 是否有任何其他独立/命令行 CSS 压缩器(特别是实际上缩小而不是仅仅整理它的压缩器)? (赏金)
观察: VS 解决方案是 TFS 共享的,不能让所有开发人员安装 YUI 或任何其他非独立框架,也不能安装其他语言框架,如 Ruby/PHP。目前 jsmin.exe 和 csstidy.exe 是最好的,因为我刚刚将它们添加到解决方案中并在事后事件中调用它们。
最佳答案
在整个星期五都在寻找并没有找到一个好的工具之后,今天我尝试了一个新的尝试,终于找到了一个同时压缩 CSS 和 JS 的工具。
这个名字不太直白,这就是为什么很难找到:Microsoft Ajax Minifier
在要求安装时,我只是将文件夹内容复制到元素中,并且工作得非常顺利。
对于那些想将它用作事件后构建的人:
考虑到您有一个 .js 文件夹,并且您想要连接并缩小所有以 .debug.js
结尾的 .js 文件。
type "$(ProjectDir)\Scripts\*.debug.js" | "$(ProjectDir)tools\AjaxMin" -JS -comments:none –global:jQuery,$ -out "$(ProjectDir)\Scripts\myProject.min.js" -clobber
$(ProjectDir)
为元素文件夹;-
type
是一个cmd.exe
命令,用于显示一个或多个文件的内容。所以我为了获取所有 *.debug.js 文件的内容并留在STDIN
中。 ; - 调用 AjaxMin.exe(不需要我复制到
\tools\
文件夹的.exe
; - pass arguments根据需要使用
-argName:argValue
; - 使用
-out
和将要输出的文件的路径名; - 添加
-clobber
以在文件存在时覆盖
现在每次我需要更新我的 css 和 js 文件时,我都会重新/构建元素,瞧瞧,缩小 CSS 和 JS。
关于css - 如何防止 CSSTidy 删除 *property IE7 Hack? (或另一个独立工具),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16744141/