完善 TBCompressor 对 CSS 文件的压缩过程

作者:屈超(Chappell.Wat) 发布时间:November 26, 2009 分类:程式::五代

玉伯同学近期发布了 Closure CompilerYUI 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
下载后直接覆盖同名文件即可。

标签: JavaScript, YUI, Closure

已有 9 条评论 »

  1. marc marc November 27th, 2009 at 03:06 pm

    额,我覆盖了一下,我们的主要是UTF-8编码,压缩CSS的时候提示找不到文件。压缩JS正常

    1. Chappell.Wat Chappell.Wat November 28th, 2009 at 01:25 am

      @marc
      编码问题,
      玉伯的这个工具目前需要手动修改 cmd 里的代码来支持 UTF-8,
      如果玉伯不跟进我可以考虑制作一个区别编码的版本。
      :)

  2. 18个CSS精简压缩工具和技巧 |   帕兰映像 18个CSS精简压缩工具和技巧 | 帕兰映像 December 12th, 2009 at 11:30 am

    [...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]

  3. 天缘 天缘 December 13th, 2009 at 07:53 pm

    这个是个好东西,怎么说都可以加快网页载入速度了。

  4. shadowkun shadowkun December 21st, 2009 at 10:45 am

    把我博客挂上,有时间多逛逛,兄弟!~~

    1. Chappell.Wat Chappell.Wat December 22nd, 2009 at 10:52 pm

      @shadowkun
      哈哈,已加。回头你也给我加上。

  5. 创意坊 » CSS压缩大法:技巧与工具 创意坊 » CSS压缩大法:技巧与工具 January 7th, 2010 at 06:53 pm

    [...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]

  6. 桌面版CSS压缩工具推荐 | CSSWEBSITE 桌面版CSS压缩工具推荐 | CSSWEBSITE January 9th, 2010 at 04:28 pm

    [...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]

  7. 18个CSS精简压缩工具和技巧 «  幻岛|领地 18个CSS精简压缩工具和技巧 « 幻岛|领地 January 10th, 2010 at 08:36 am

    [...]另外,推荐阅读屈超同学的《完善 TBCompressor 对 CSS 文件的压缩过程》。[...]

添加新评论 »