完善 TBCompressor 对 CSS 文件的压缩过程
作者:屈超(Chappell.Wat) 发布时间:November 26, 2009 分类:程式::五代
玉伯同学近期发布了 Closure Compiler 和 YUI Compressor 的右键菜单插件,
而之前基于 YUI Compressor 的同类型工具被称为“TBCompressor”,
(为了区别真正的 YUI Compressor 我用了本文的标题)
一直以来大家伙儿都用这个组合来压缩 JS 和 CSS 文件,
基本上没有什么问题——
除了作者在 compressor.cmd 中所注释的这种情况:
“对于 css 文件,只有(略),情况很少,手工处理”。
那么这次的完善就是针对上述情况而作,
将以前需要手工完成的内容继续交由 cmd 来处理。
请编辑 compressor.cmd 并找到如下代码:
if "%~x1" == ".js" (
copy /y "%RESULT_FILE%" "%RESULT_FILE%.swp" > nul
"%JAVA_HOME%\bin\native2ascii.exe" -encoding GB18030 "%RESULT_FILE%.tmp" "%RESULT_FILE%"
del /q "%RESULT_FILE%.tmp"
)
替换为:
copy /y "%RESULT_FILE%" "%RESULT_FILE%.tmp" > nul
"%JAVA_HOME%\bin\native2ascii.exe" -encoding GB18030 "%RESULT_FILE%.tmp" "%RESULT_FILE%"
del /q "%RESULT_FILE%.tmp"
REM 5. 对于 css 文件,替换 \uxxxx 为 \xxxx by quchao
if "%~x1" == ".css" (
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "delims=" %%u IN ('more /s "%RESULT_FILE%"') DO (IF %%u NEQ "" SET "u=%%u" & SET "u=!u:\u=\!" & >>U ECHO,!u!)
SETLOCAL DISABLEDELAYEDEXPANSION
MOVE U "%RESULT_FILE%"
)
以上代码基于 YUI Compressor 的右键菜单插件 ,
事实上修改方法同样适用于 TBCompressor ,明早我将知会玉伯。
已知会他,
他选择使用一个软件来实现替换过程,
最终效果一样,
那么大伙儿自行选择吧。
比较懒的同学可以直接下载不才修改后的版本:
DropBox 下载:compressor.cmd
下载后直接覆盖同名文件即可。
已有 9 条评论 »
额,我覆盖了一下,我们的主要是UTF-8编码,压缩CSS的时候提示找不到文件。压缩JS正常
@marc
编码问题,
玉伯的这个工具目前需要手动修改 cmd 里的代码来支持 UTF-8,
如果玉伯不跟进我可以考虑制作一个区别编码的版本。
:)
[...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]
这个是个好东西,怎么说都可以加快网页载入速度了。
把我博客挂上,有时间多逛逛,兄弟!~~
@shadowkun
哈哈,已加。回头你也给我加上。
[...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]
[...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]
[...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]