posts - 122,  comments - 25,  trackbacks - 0
实现javascript文件压缩的批处理脚本,脚本完成的内容:
1、利用一个windows script 删除js文件中的空白字符及注释;
2、通过gzip.exe 将js文件压缩打包成gzjs文件。gzip.exe 下载地址:http://www.gzip.org
相关文件请下载附件:js 压缩批处理 。

使用方法:
a. 双击运行 gzjs.bat ,提示输入javascript文件名(带路径).
b. 输入待压缩的js文件,或者拖动js文件到command窗口(可直接在eclipse视图中拖动js文件到cmd窗口)。
c. 回车后,在js文件所在目录会生成一个相同文件名的gzjs文件。

批处理文件内容如下:
@echo off

if not "%1" == "" (
   
set JSFILE=%1
   
goto ZIPING
)

:INPUT_FILENAME
set /P JSFILE=请输入待压缩的JS文件名: 
if "%JSFILE%"=="" (
    echo 
ERROR: JS文件名称必须指定!
    
goto INPUT_FILENAME
)

:ZIPING
set MINJS_FILENAME=c-ziped.js
if not exist %JSFILE% (
    echo 
ERROR: 文件:%JSFILE%不存在!
    
goto INPUT_FILENAME
)

rem 压缩Javascript文件.
if exist %MINJS_FILENAME% del %MINJS_FILENAME%
CScript 
/nologo pack.wsf %JSFILE% >> %MINJS_FILENAME%
if not "%ERRORLEVEL%"=="0" (
    echo 
ERROR: JS文件压缩失败:%JSFILE%
    
goto END
)

rem 打包js文件为.gzjs
gzip -9 %MINJS_FILENAME%
for %%i in ("%JSFILE%"do (
        
set FILENAME=%%~ni
    
set JS_FILEPATH=%%~di%%~pi
    
rem echo %JS_FILEPATH%
)

rem 压缩文件名及重命名的文件名.
set GZIPED_FILE=%FILENAME%.gzjs
set TMP_GZIPED_FILE="%MINJS_FILENAME%.gz"

rem 重命名.
if exist %GZIPED_FILE% del %GZIPED_FILE%
call ren %TMP_GZIPED_FILE% %GZIPED_FILE%
if not "%ERRORLEVEL%"=="0" (
    echo 
ERROR: JS压缩文件打包失败:%TMP_GZIPED_FILE%
    
goto END
)

rem 移动压缩文件到源目录.
set TARGET_GZJS=%JS_FILEPATH%%GZIPED_FILE%
call move /Y %GZIPED_FILE%  %TARGET_GZJS%
echo done. %TARGET_GZJS%

:
END
pause

Apache配置,以支持gzjs文件格式(http header的Content-Encoding=gzip):
<FilesMatch "\.gzjs$">
   Header add Content
-Encoding gzip
</FilesMatch>
posted on 2009-03-19 22:22 josson 阅读(1041) 评论(0)  编辑  收藏 所属分类: web开发

只有注册用户登录后才能发表评论。


网站导航:
 
<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(3)

随笔分类

随笔档案

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜