您的位置:首页 > 产品设计 > UI/UE

使用 YUI Compressor 批量压缩JS/CSS

2014-08-03 00:00 495 查看
摘要: YUI Compressor使用纯Java编写,运行需要JDK1.4或更高版本,基于Rhino 对JavaScript源文件进行分析和切词。可以是去掉JavaScript文件和CSS文件中冗余的空白字符(空格,换行符,制表符),对于JavaScript文件还可以对其进行混淆,更改局部变量的名称,将它们改成长度为1,2或3的字符,总之是尽量短。对于 CSS,还有采用优化0值属性值的表示,优化颜色值的方法压缩文件。

官方网址:http://developer.yahoo.com/yui/compressor/

安装包下载地址:https://github.com/yui/yuicompressor/downloads

YUI Compressor 通过命令行方式来调用。

语法:java -jar yuicompressor-x.y.z.jar [options] [input file]

通用参数:

-h, --help 显示帮助信息

--type <js|css> 指定输入文件的文件类型

--charset <charset> 指定读取输入文件使用的编码

--line-break <column> 在指定的列后插入一个 line-bread 符号

-v, --verbose 显示info和warn级别的信息

-o <file> 指定输出文件。默认输出是控制台。

JavaScript专用参数:

--nomunge 只压缩, 不对局部变量进行混淆。

--preserve-semi 保留所有的分号。

--disable-optimizations 禁止优化。

安装配置:

1、配置Java运行环境(win7下Java运行环境配置)。

2、将 yuicompressor-2.4.7.zip 解压缩到 D:\yuicompressor 。

-------------------------------------华丽分割线-------------------------------------

制作windows下批量压缩批处理脚本

批处理文件:D:\yuicompressor\yuicompressor.bat,批量压缩JS/CSS并替换源文件。

压缩jar包:D:\yuicompressor\bin\build\yuicompressor-2.4.7.jar,文件压缩功能包。

新建一个批处理文件,例如 yuicompressor.bat,文件内容如下:

@echo Off

::设置YUI Compressor启动目录

SET YUIFOLDER=D:\yuicompressor\bin\build

::设置你的JS和CSS根目录,脚本会自动按树层次查找和压缩所有的JS和CSS

SET FOLDER=D:\yuicompressor\resources

echo 正在查找 JavaScript, CSS ...

chdir /d %FOLDER%

for /r . %%a in (*.js *.css) do (

@echo 正在压缩 %%~a ...

@java -jar %YUIFOLDER%\yuicompressor-2.4.7.jar --charset UTF-8 %%~fa -o %%~fa

)

echo 完成。。。

pause & exit

使用方法:

先将 JavaScript 和 CSS 拷贝到 D:\yuicompressor\resources 目下,然后双击运行 yuicompressor.bat 批处理脚本文件。

-------------------------------------华丽分割线-------------------------------------

制作windows下批处理工具

批处理文件:D:\yuicompressor\yuicompressor-min.bat,批量压缩生成-min.css或-min.js,源文件不变。

注册表文件:D:\yuicompressor\yuicompressor-min.reg,将批处理工具添加到右键菜单中,直接右键文件夹即可执行批处理程序。

压缩jar包:D:\yuicompressor\bin\build\yuicompressor-2.4.7.jar,文件压缩功能包。

新建一个批处理文件,例如 yuicompressor-min.bat,文件内容如下:

@echo off
cd %1
@echo 正在清理 *-min.js ...
for %%a in (*-min.js) do call:ProcessDel: %%a
@echo 清理完毕...
@echo 正在清理 *-min.css ...
for %%a in (*-min.css) do call:ProcessDel: %%a
@echo 清理完毕...
@echo 正在压缩 *-min.js ...
for %%a in (*.js) do call:ProcessCompress: %%a
@echo JS 压缩完毕...
@echo 正在压缩 *-min.css ...
for %%a in (*.css) do call:ProcessCompress: %%a
@echo CSS 压缩完毕...
pause & exit

:ProcessDel
IF NOT [%1]==[] call:DeleteMinFiles: %1
GOTO:EOF

:ProcessCompress
IF NOT [%1]==[] call:CompressFiles: %1
GOTO:EOF

:DeleteMinFiles
IF EXIST %CD%\%1 del %CD%\%1
echo %CD%\%1 删除成功
GOTO:EOF

:CompressFiles
java -jar D:\yuicompressor\bin\build\yuicompressor-2.4.7.jar %1 -o %~n1-min%~x1
@echo %CD%\%1 压缩成功
:GOTO:EOF


新建一个注册表文件,例如 yuicompressor-min.reg,文件内容如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\YUICompressor]
@="YUICompressor JS/CSS"

[HKEY_CLASSES_ROOT\Directory\shell\YUICompressor\command]
@="D:\yuicompressor\yuicompressor-min.bat %1"

注意事项:请 自行 修改 yuicompressor -min .bat、yuicompressor -min .reg 文件中的目录路径。

使用方法:

运行 yuicompressor-min.reg 文件(仅首次)。在需要压缩的 JS/CSS 文件夹上右键——>“YUICompressor JS/CSS”即可。

-------------------------------------华丽分割线-------------------------------------

[b]制作windows下[b]打包压缩[b]批处理脚本[/b][/b][/b]

批处理文件:pack-js.bat,将多个js文件压缩为一个JS文件。

JS文件清单:pack-js-list.txt,需要打包压缩的JS文件清单(列举文件名即可)。

压缩jar包:D:\yuicompressor\bin\build\yuicompressor-2.4.7.jar,文件压缩功能包。

新建一个批处理文件,例如 pack-js.bat,文件内容如下:

@echo off
::设置打包文件名
SET PACKNAME=pack-all.js
::设置打包压缩文件名
SET PACKMINNAME=pack-all-min.js
::设置打包文件清单文件名
SET PACKLIST=pack-js-list.txt
::设置YUI Compressor启动目录
SET YUIFOLDER=D:\yuicompressor\bin\build
SET utf8=65001
SET ansi=936
:: 删除 %PACKNAME%
IF EXIST %CD%\%PACKNAME% del %CD%\%PACKNAME%
:: 删除 %PACKMINNAME%
IF EXIST %CD%\%PACKMINNAME% del %CD%\%PACKMINNAME%
chcp %utf8%
for /f %%i in (%PACKLIST%) do type %%i >> %PACKNAME%
chcp %ansi%
@echo %PACKNAME% 打包完毕 ...
@echo 正在压缩 ...
@java -jar %YUIFOLDER%\yuicompressor-2.4.7.jar --type js --charset utf-8 %PACKNAME% -o %PACKMINNAME%
@echo %PACKMINNAME% 压缩完毕 ...
pause & exit


新建一个文本文件,例如 pack-js-list.txt,文件内容如下:

base.js

common.js

popwin.js

注意事项:请自行修改 pack-js.bat、pack-js-list.txt 文件中的目录路径。

使用方法:

在需要压缩JS的文件夹中放入这两个文件,运行 pack-js.bat 即可完成打包压缩。

CSS打包压缩与此相同,稍作修改即可,不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息