说明

有很多js文件需要压缩一下以加快网站加载速度
本来使用的是YUI Compressor ,用了一段时间发现有点毛病,没有继续深究
直接从Maven仓库拷来了Google Closure Compiler的jar包使用,至于Maven项目如何配置自动压缩,自行百度吧
copy下面的代码,新建bat文件,粘贴进去运行即可,可以对当前目录的所有子目录中的js文件进行混淆压缩
warning没有什么大问题,可以直接忽略,这只是个简陋的bat脚本,就不要要求太多啦^_^

QQ截图20191211212715.png

三种压缩模式介绍

使用方法:修改--compilation_level的值即可,例如--compilation_level SIMPLE

  • Whitespace only:只是简单的去除空格换行注释。
  • Simple:比Whitespace only更高端一点,在其基础上,还对局部变量的变量名进行缩短。这也是其他压缩工具所使用的压缩方式,如UglifyJS等,也是最为主流的压缩方式。比较安全。
  • Advanced:Advanced级别的压缩改变(破坏)了原有代码结构,直接输出代码最终运行结果,而且这种级别的压缩还会删除未调用的函数代码。

注意:Advanced级别的压缩虽然对代码压缩做到了极致,但也改变(破坏)了原有代码结构,直接输出了代码最终运行结果,所以使用起来得异常小心,稍微有不规范可能就会引起压缩报错或者压缩成功后却不能正常运行。

代码

@echo off
title="Google Closure Compiler高级压缩混淆Javascript代码工具 BY Hidove Ivey"
color 2
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir .\ /b /s /a-d ^|findstr /i ".js"') do (
set str=%%a
set str=!str:%cd%\=!
java -jar closure-compiler.jar !str! --js_output_file  !str! --compilation_level SIMPLE --charset utf-8
@echo  !str!混淆压缩成功!
)
@echo  全部执行完毕!
pause

下载

jar包:https://mvnrepository.com/artifact/com.google.javascript/closure-compiler