利用YUI Compressor批量压缩js脚本文件
最近看关于网站优化方面的书,都有提到脚本和css的精简和压缩,压缩的js脚本保持了原来的功能,而且能大幅缩小文件所占空间,具有以下效果:
- 移除注释
- 移除额外的空格
- 标识符替换(Identifier Replacement)
以雅虎的YUI Compressor为例 ,它是用java实现的压缩功能,所以需要安JAVA环境的,如果没有的话,就要安装一下JDK,下载地址是:http://www.java.net/download/jdk6/6u10/promoted/b28/binaries/jdk-6u10-rc-bin-b28-windows-i586-p-21_jul_2008.exe,下载完后配置JAVA环境变量。
配置方法如下。
1、点击我的电脑—>属相—>高级—>环境变量—>系统变量
2、新建变量,变量名JAVA_HOME 路径:D:\Program Files\Java\jdk1.6.0_11 (我的是在D盘,你的JDK安装到那个盘,就写那个盘,注意版本可能不一样)
3、找到path变量,在后面添加路径:;%JAVA_HOME%\jre6\bin;
打开CMD,输入java -version
看看能不能出来如下显示的版本信息:

如果不成功,那么上网找找答案吧,反正我的是ok了。
接下来打开进入YUI Compressor的目录“\yuicompressor-2.4.6\build\”,在该目录新建一个文本文件,打开记事本输入命令 “java -jar yuicompressor-2.4.6.jar --type js --charset utf-8 -v puzzle.js > puzzle-min.js” 然后保存文件名为”test.bat“。 运行该文件,如果你的脚本没有错误,就可以把puzzle.js文件压缩为puzzle-min.js文件,如下图。

puzzle.js文件从原来的10KB压缩到3KB,效果还是不错的,但是在实际项目中,需要批量压缩js脚本,若是根据文件名一条一条的写命令,挺麻烦,所以写了一个批处理,可以把指定文件夹内的所有js脚本,压缩后输出到另一个文件夹内。具体方法如下:
1、建立一个文本文件,把文件改为”run-min.bat“。
2、打开该文件,输入以下内容,并保存。
@echo off
cd in
for /r %%i in ("*.js") do (
set route=%%i
set filename=
call :separate
)
pause
goto :eof
:separate
if not "%route:~-1%"=="\" (
set filename=%route:~-1%%filename%
set route=%route:~0,-1%
goto separate
) else (
echo 压缩文件:out/%filename%
java -jar ../yuicompressor-2.4.6.jar --type js --charset utf-8 -v %filename% > ../out/%filename:~0,-3%-min.js
)
goto :eof
3、在build目录下,建立两个文件夹,分别为”in“ 和”out"。
4、把需要压缩的js脚本放入“in"文件夹下,运行"run-min.bat"文件则压缩后的文件会输出到 "out"文件夹。
OK,大概就是这些内容,不想看内容的可以直接下载范例。

浙公网安备 33010602011771号