需要先下载 yuicompressor
yuicompressor-2.4.8.jar 下载地址
http://yui.github.io/yuicompressor/
https://github.com/yui/yuicompressor/releases
2.4.8似乎有bug
用ant使用时报
[apply] java.io.FileNotFoundException: workspaceProjectNameWebContentstaticdestjscommon.js:\workspace\ProjectName\WebContent\static\js\common.js
其实他是说目标目录不存在。
用2.4.7,2.4.6则没问题
yuicompressor-2.4.7.jar 下载地址
http://ishare.iask.sina.com.cn/f/25474581.html
下载后提取jar
java样例
java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js --charset utf-8
说明
http://yui.github.io/yuicompressor/
java -jar yuicompressor-x.y.z.jar
Usage: 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 禁止优化。
批量按目录树压缩
<?xml version="1.0" encoding="utf-8"?> <project name="compress" basedir="../" default="yui-compress"> <!--属性--> <property name="yuicompressor-jar" value="${basedir}/build/yuicompressor-2.4.7.jar" /> <property name="JS_HOME" value="${basedir}/WebContent/static/js"/> <property name="JS_COMPRESSED_HOME" value="${basedir}/WebContent/static/js_compress"/> <!--复制目录及文件--> <target name="copy"> <copy todir="${JS_COMPRESSED_HOME}" includeEmptyDirs="true" overwrite="true" preservelastmodified="true"> <!--复制目录树--> <fileset dir="${JS_HOME}" > <exclude name="**/*.*" /> </fileset> <!--复制其他文件--> <fileset dir="${JS_HOME}" > <include name="**/*.min.js" /> <include name="**/*.swf" /> </fileset> </copy> </target> <!--压缩js--> <target name="yui-compress" depends="copy"> <apply executable="java" parallel="false" verbose="true" dest="${JS_COMPRESSED_HOME}" > <fileset dir="${JS_HOME}"> <include name="**/*.js" /> <exclude name="**/*.min.js" /> </fileset> <arg line="-jar"/> <arg path="${yuicompressor-jar}" /> <arg line="--type js --charset UTF-8 -o" /> <mapper type="glob" from="*.js" to="*.js" /> <targetfile /> </apply> </target> </project>
注:目标目录必须存在,否则会报错。因此先复制出了文件夹
注意事项,
有人说 js中不要有i--中的--,说是会当做注释,我试了,好像没问题。
其他,
声明变量时写上 var
语句结尾写上分号;
其他说明
[1].-v参数不是必需的,但建议加上,方便查看一些WARNING信息;
[2].--charset参数不是必需的,但建议加上,YUI Compressor有时并不那么智能;
[3].YUI Compressor不会混淆全局变量名;
[4].养成好的编码习惯,变量尽量一次声明完毕(每个作用域只用一次var),否则会看类似的提示:
[WARNING] Try to use a single 'var' statement per scope.
msg(){var aaa=1; ---> var <--- bbb=2;alert(aaa+bbb)
压缩过一遍以后,如果文件没改变,他就不压缩了,
如果改变了一个文件,他会压缩那一个文件
压缩css的方法和压缩js的方法很类似,改改就行了。
谷歌的Google Closure Compiler也能压缩js,但好像压缩不了css
多个js还可以合并
使用ANT对Js/Css文件进行合并和压缩处理
http://www.blogbus.com/lds2008-logs/115112756.html
相关推荐
使用脚本+yuicompressor对js,css文件打包.pdf
NULL 博文链接:https://ynp.iteye.com/blog/1296569
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css 语法: java -jar ...
基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI ...
yuicompressor压缩html、js、css、scss、jsp 方法:Monitoring.init 初始化基本参数: suffix : 压缩的后缀,如min,common.js压缩后为common.min.js,html与jsp不参与 filterDir:过滤目录,正则表达式,如(./...
* 可添加多个目录文件,批量压缩JavaScript,CSS文件; * 可设置发布目录,将压缩后的文件集中保存到该处; * 可将调试信息保存到文件中; * 可保置当前压缩文件列表,方便下次重新打开; * 在读入文件列表时可设置文件...
如果用 Ant 执行 YUI Compressor 任务时出现了中文乱码,请下载此资源,用这里边 dist 目录里边的 YUIAnt-zh_CN.jar 替换掉官方提供的 YUIAnt.jar ,然后在对应的 Ant 任务中,用 encoding="xxx" 指定源文件的字符...
压缩前4.13MB 压缩后2.89MB 混淆率: 较高 一个windows下的批量处理脚本: @echo off ::设置YUI Compressor启动目录 SET YUIFOLDER=C: ::设置你的JS和CSS根目录,脚本会自动按树层次查找和压缩所有的JS和CSS SET ...
用yuicompressor-2.4.7压缩你的JS和CSS 最近做了一个项目,使用了Ext框架,项目做好了,结果客户一试用,打开一个页面要6秒,这个页面是用户经常要用的,要频繁打开的,这样用户就受不了了,怎么办?怎么办?怎么...
js混淆 压缩 ant结合yui-compressor
YUI Compressor压缩JS和Css工具,可对js以及css进行压缩、合并、打包,并包含详细工具使用配置说明,如果你一个web前端开发工程师你值得拥有!
利用yuicompressor来对js、css文件压缩
IDEA(pycharm,phpstorm)添加外部插件-yuicompressor压缩js/css
使用Ant构建批量压缩js、css文件脚本
js,css压缩文件实例,还可以合并js哦
Yahoo的基于java的javascript/css压缩程序
YUI compressor右键压缩脚本,快捷压缩,不需要命令行,和图形界面,选择文件右键可以进行压缩处理。 解压后执行install.cmd,即可绑定右键菜单。
YUICompressor在压缩的过程中无法合并文件,如处理10个文件只能生成10个文件,于是写了一个自动化脚本,只需修改一下criptList.txt文件,及可将里边的文件合并压缩成一个文件。 注:jar包是在win7 32位环境下编译