需要先下载 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
相关推荐
标题 "ant和yuicompressor 压缩css、js方案" 涉及到的是在软件开发中如何使用构建工具Ant以及JavaScript压缩工具YUI Compressor来优化前端资源,特别是CSS和JavaScript文件。这两个工具在Web开发中起着至关重要的...
java -jar yuicompressor-2.4.2.jar -o compressed.js input.js ``` 对于CSS文件,命令类似,只是扩展名不同。此外,`YUI Compressor` 还支持通过参数配置压缩级别、是否保留注释等选项。 5. **与其他工具的比较...
为了实现批量压缩js和css文件,我们需要引入几个Ant的贡献库(Contrib tasks),其中包括YUI Compressor。YUI Compressor是由Yahoo开发的一款高效的JavaScript和CSS压缩工具,它可以删除代码中的空格、注释,并进行...
在Web开发中,为了提高页面加载速度和优化用户体验,开发者通常会使用代码压缩工具来减少JavaScript(JS)和CSS文件的大小。YUI Compressor是 Yahoo! 推出的一款开源的压缩工具,它能有效地去除代码中的空白和注释,...
java -jar yuicompressor-2.4.7.jar --type js input.js -o output.js ``` 对于CSS文件,只需将`--type css`替换掉`--type js`即可: ```bash java -jar yuicompressor-2.4.7.jar --type css input.css -o output....
**YUI Compressor:强大的Java实现的JSCSS压缩工具** YUI Compressor是一款由雅虎(Yahoo!)开发的开源工具,主要用于压缩JavaScript (JS) 和 Cascading Style Sheets (CSS) 文件,以减小网页资源的大小,提高网页...
1. **可执行文件**:`yuicompressor-2.4.2.jar`是YUI Compressor的一个版本,包含了所有必要的类和资源,可以直接通过命令行进行JavaScript和CSS文件的压缩。只需将这个jar文件添加到系统路径,就可以在终端中运行`...
例如,Maven的`maven-resources-plugin`和`maven-war-plugin`可以配合使用`yuicompressor-maven-plugin`来完成js和css的压缩。在Gradle中,我们可以使用`apply plugin: '...
《yuicompressor:高效压缩JavaScript的利器》 yuicompressor是一款在IT行业中广泛使用的JavaScript压缩工具,其核心功能是将源代码压缩至最小体积,从而提高网页加载速度,减轻服务器负担,优化用户浏览体验。这款...
在JS压缩中,Ant脚本可以调用诸如YUI Compressor、UglifyJS或Closure Compiler等第三方压缩工具,对JS和CSS文件进行处理。在Eclipse中,可以通过配置Ant任务来自动化这个过程,只需一键执行,就能完成整个项目的压缩...
### JavaScript开发之JS压缩技术详解 #### 一、引言 在JavaScript开发过程中,随着项目的不断扩展和功能的增加,JavaScript文件的数量与体积往往会变得非常庞大。这不仅增加了页面加载的时间,也消耗了大量的网络...
在JS压缩方面,ANT可以与第三方库如YUI Compressor集成,YUI Compressor是一个JavaScript和CSS压缩工具,能有效减小文件体积。\n\n要实现ANT对JS文件的压缩,首先需要下载两个关键的.JAR文件:`YUIAnt.jar`和`yui...
YUI Compressor通过删除空格、换行符,以及对变量和函数进行混淆来压缩代码,同时还能合并多个CSS或JS文件到一个文件中,以减少HTTP请求次数。这是前端性能优化的重要策略之一,因为每个HTTP请求都会增加页面加载的...