ant和yuicompressor 压缩css、js方案

因为是个测试写的是个java工程,web工程一样修改个路径就行,主要是一次性搞定多个子目录下的js和css。附件还有个工具包(js压缩.rar),可以压缩多个文件,貌似都是一个目录下的文件,中间我加了些说明,目录我测了下只能用相对路径。(这个东东忘了从那里找的了,见谅)。
另外大概说明一下yuicompressor的使用方法

命令行用法
语法: java -jar yuicompressor-x.y.z.jar [options] [input file]
例子:java -jar yuicompressor-2.4.7.jar 3.js -o 3.js --nomunge --charset utf-8

通用参数:
-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代码 复制代码 收藏代码
  1. <!--复制一个新工程再用此工具,因为会直接覆盖未压缩代码-->
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <project name="MyTask" basedir="." default="compress-css">
  4. <property name="src.dir" value="./src" />
  5. <property name="yuicompressor" value="./src/resource/yuicompressor-2.4.7.jar" />
  6. <target name="compress-js">
  7. <apply executable="java" parallel="false" failonerror="true" dest="${src.dir}/" append="false" force="true">
  8. <!--单个文件压缩-->
  9. <fileset dir="${src.dir}/">
  10. <include name="1.js" />
  11. <include name="2.js" />
  12. </fileset>
  13. <!--多个子目录压缩-->
  14. <fileset dir="${src.dir}/" includes="js1/*.js"/>
  15. <fileset dir="${src.dir}/" includes="js2/*.js"/>
  16. <!-- 以下写法错误,dir和dest(java命令执行的路径)相同
  17. <fileset dir="${src.dir}/js1/" includes="*.js"/>
  18. -->
  19. <arg line="-jar" />
  20. <arg path="${yuicompressor}" />
  21. <arg line="--charset gbk" />
  22. <srcfile />
  23. <arg line="-o" />
  24. <mapper type="glob" from="*.js" to="*.js" />
  25. <targetfile />
  26. <!--只压缩去掉空格,不混淆-->
  27. </apply>
  28. </target>
  29. <target name="compress-css">
  30. <apply executable="java" parallel="false" failonerror="true" dest="${src.dir}" append="false" force="true">
  31. <!--单个文件压缩-->
  32. <fileset dir="${src.dir}/">
  33. <include name="1.css" />
  34. <include name="2.css" />
  35. </fileset>
  36. <!--多个子目录压缩-->
  37. <fileset dir="${src.dir}/" includes="css1/*.css"/>
  38. <fileset dir="${src.dir}/" includes="css2/*.css"/>
  39. <arg line="-jar" />
  40. <arg path="${yuicompressor}" />
  41. <arg line="--charset utf-8" />
  42. <srcfile />
  43. <arg line="-o" />
  44. <mapper type="glob" from="*.css" to="*.css" />
  45. <targetfile />
  46. </apply>
  47. </target>
  48. </project>
<!--复制一个新工程再用此工具,因为会直接覆盖未压缩代码-->
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyTask" basedir="." default="compress-css">
	<property name="src.dir" value="./src" />
	<property name="yuicompressor" value="./src/resource/yuicompressor-2.4.7.jar" />

	<target name="compress-js">
		<apply executable="java" parallel="false" failοnerrοr="true" dest="${src.dir}/" append="false" force="true">
			<!--单个文件压缩-->
			<fileset dir="${src.dir}/">
				<include name="1.js" />
				<include name="2.js" />
			</fileset>	
				
			<!--多个子目录压缩-->
			<fileset dir="${src.dir}/" includes="js1/*.js"/>
			<fileset dir="${src.dir}/" includes="js2/*.js"/>
				
			<!-- 以下写法错误,dir和dest(java命令执行的路径)相同
			<fileset dir="${src.dir}/js1/" includes="*.js"/>
			-->
			<arg line="-jar" />
			<arg path="${yuicompressor}" />
			<arg line="--charset gbk" />
			<srcfile />
			<arg line="-o" />
			<mapper type="glob" from="*.js" to="*.js" />
			<targetfile />
			<!--只压缩去掉空格,不混淆-->
		</apply>
	</target>
	<target name="compress-css">
		<apply executable="java" parallel="false" failοnerrοr="true" dest="${src.dir}" append="false" force="true">
			<!--单个文件压缩-->
			<fileset dir="${src.dir}/">
				<include name="1.css" />
				<include name="2.css" />
			</fileset>	
				
			<!--多个子目录压缩-->
			<fileset dir="${src.dir}/" includes="css1/*.css"/>
			<fileset dir="${src.dir}/" includes="css2/*.css"/>

			<arg line="-jar" />
			<arg path="${yuicompressor}" />
			<arg line="--charset utf-8" />
			<srcfile />
			<arg line="-o" />
			<mapper type="glob" from="*.css" to="*.css" />
			<targetfile />
		</apply>
	</target>
</project>


参考 http://blog.csdn.net/jeamking/article/details/5166495
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着Web前端开发的不断发展,我们经常需要使用JSCSS来实现网页的动态交互和样式美化。但是,这些文件的体积较为庞大,会影响网页的加载速度和用户的体验。因此,在进行Web前端开发时,将JSCSS文件进行压缩是一项非常重要的工作。而JSCSS批量压缩工具则是为了更加高效地完成这项工作而创建的。 JSCSS批量压缩工具能够自动化执行压缩任务,减少人工操作的时间和难度。一些常见的JSCSS批量压缩工具包括:UglifyJSCSSMinifier、YUI Compressor等。这些工具大多具有以下几个特点: 1. 节省时间和精力:JSCSS批量压缩工具支持批量处理,能够同时处理多个文件,在短时间内完成压缩任务,大大节省了开发者的时间和精力。此外,使用这些工具还能避免手动操作出现的错误,保证压缩的准确性。 2. 减小文件体积:通过删除空格、注释、多余的标点符号等方式,JSCSS批量压缩工具能够将文件的体积减小到最小。这样不仅能够提高网页的加载速度,还能减少服务器端的带宽压力。 3. 支持多种压缩方式:JSCSS批量压缩工具支持多种压缩算法,如GZip、Deflate等,能够根据不同的情况选择最合适的压缩方式。这样能够使压缩后的文件更加紧凑、快速,减少传输时间。 总之,JSCSS批量压缩工具在Web前端开发中发挥着非常重要的作用,能够有效地减小文件体积,提高网页的性能和用户体验,对于开发人员而言是一个非常实用的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值