您的位置:首页 > Web前端 > JavaScript

使用 Google Closure Compiler 压缩JS

2014-08-03 00:00 176 查看
摘要: Closure Compiler是一个JavaScript优化器,将Web应用编译成压缩的、高性能的JavaScript代码。编译器去除无效代码,并将剩余代码重写并压缩,使Web应用能够快速在浏览器的JavaScript引擎上执行。

官方网址:https://developers.google.com/closure/compiler/docs/gettingstarted_app?hl=zh-CN

下载地址:http://dl.google.com/closure-compiler/compiler-latest.zip

Closure Compiler 通过命令行方式来调用。

语法:java -jar compiler.jar --js test.js --js_output_file test-min.js
通用参数:
java -jar compiler.jar --help 显示帮助信息

安装配置:
1、配置Java运行环境(win7下Java运行环境配置)。
2、将 compiler-latest.zip 解压缩到 D:\GoogleClosureCompiler\bin。
在命令行中压缩
1、打开DOS,切换至 D:\GoogleClosureCompiler\bin 目录下。
2、输入 java -jar compiler.jar --js=D:\js\index.source.js --js_output_file=D:\js\index.js 回车执行即可完成编译压缩。
-------------------------------------华丽分割线-----------------------------------
[b][b]制作windows下批处理工具[/b][/b]

批处理文件:D:\GoogleClosureCompiler\compiler-min.bat,批量编译压缩生成-min.js,源文件不变。
注册表文件:D:\GoogleClosureCompiler\compiler-min.reg,将批处理工具添加到右键菜单中,直接右键文件夹即可执行批处理程序。
压缩jar包:D:\GoogleClosureCompiler\bin\compiler-min.jar,文件压缩功能包。
新建一个批处理文件,例如 compiler-min.bat,文件内容如下:
@echo  off
cd %1
@echo  正在清理 *-min.js ...
for %%a in (*-min.js) do call:ProcessDel: %%a
@echo  清理完毕...
@echo  正在压缩 *-min.js ...
for %%a in (*.js) do call:ProcessCompress: %%a
@echo  JS 压缩完毕...
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:\GoogleClosureCompiler\bin\compiler.jar --js=%1 --js_output_file=%~n1-min%~x1
@echo %CD%\%1 压缩成功
:GOTO:EOF


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

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\ClosureCompiler]
@="ClosureCompiler JS"

[HKEY_CLASSES_ROOT\Directory\shell\ClosureCompiler\command]
@="D:\GoogleClosureCompiler\compiler-min.bat %1"


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

使用方法:
运行 compiler-min.reg 文件(仅首次)。在需要压缩的 JS 文件夹上右键——>“ClosureCompiler JS”即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息