实现Javascript文件压缩的批处理

实现Javascript文件压缩的批处理
实现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 >

你可能感兴趣的:(实现Javascript文件压缩的批处理)