由于项目使用的js很多,为了提高系统效率,将js做压缩处理。
成功的对多个js进行压缩,必须经历下面两步。
1.合并多个js成为一个js.
2.将和并过后的js进行压缩处理。
使用的ant配置主要有:
复制代码 代码如下:
<property name="root" value="WebRoot"></property>
<property name="js" value="${root}/js"></property>
<property name="map_function_js" value="${js}/mapfunc"></property>
<property name="lib" value="lib"/>
<property name="build" value="build"></property>
<property name="war" value="war"></property>
<property name="war.info" value="${war}/WEB-INF"></property>
<property name="war.lib" value="${war.info}/lib"></property>
<property name="war.classes" value="${war.info}/classes"></property>
<property name="project.name" value="zjmap"></property>
<property name="charset" value="utf-8"/>
<property name="src" value="src"/>
<target name="创建build目录">
<mkdir dir="${build}"/>
</target>
复制代码 代码如下:
<!-- 将多个js合并成为一个js -->
<target name="合并js" depends="创建build目录">
<concat destfile="${build}/mapfuncall.js" encoding="${charset}" outputencoding="${charset}">
<path path="${map_function_js}/DC.js" />
<path path="${map_function_js}/stringUtil.js" />
<path path="${map_function_js}/LOCALDC.js" />
<path path="${map_function_js}/screen.js" />
<path path="${map_function_js}/wfsQuery.js" />
<path path="${map_function_js}/Map.js" />
<path path="${map_function_js}/Query.js" />
<path path="${map_function_js}/ClassificationQuery.js" />
<path path="${map_function_js}/BusQuery.js" />
<path path="${map_function_js}/RouteQuery.js" />
<path path="${map_function_js}/cursorPosition.js" />
<path path="${map_function_js}/bufferAnalysis.js" />
<path path="${map_function_js}/divCtrl.js" />
<path path="${map_function_js}/mark.js" />
<path path="${map_function_js}/overlayAnalysis.js" />
<path path="${map_function_js}/BuildQuery.js" />
<path path="${map_function_js}/PopShow.js" />
<path path="${map_function_js}/correct.js" />
<path path="${map_function_js}/style_result.js" />
<path path="${map_function_js}/style_ui.js" />
<path path="${map_function_js}/Catalog.js" />
<path path="${map_function_js}/scenario.js" />
<path path="${map_function_js}/wfs.js" />
<path path="${map_function_js}/Uuid.js" />
<path path="${map_function_js}/Gps.js" />
<path path="${map_function_js}/typhoon.js" />
<path path="${map_function_js}/Monitor.js" />
<path path="${map_function_js}/RainWater.js" />
<path path="${map_function_js}/Approval.js" />
<path path="${map_function_js}/statistics.js" />
<path path="${map_function_js}/statisticsNew.js" />
<path path="${map_function_js}/OTileCacheCustom.js" />
<path path="${map_function_js}/BQTool.js" />
<path path="${map_function_js}/CityPositionQuery.js" />
<path path="${map_function_js}/IFieldService.js" />
<path path="${map_function_js}/SpecialQuery.js" />
</concat>
<replaceregexp match="@DEBUG@" replace="" flags="g" byline="true" file="${build}/mapfuncall.js" encoding="${charset}" />
</target>
<!-- 使用雅虎UI进行js压缩 -->
<target name="开始压缩" depends="合并js">
<!-- 使用雅虎UI压缩 mapfuncall.js -->
<antcall target="压缩mapfuncall.js"></antcall>
<!-- 使用雅虎UI压缩 dataedit.js -->
<antcall target="压缩dataedit.js"></antcall>
<!-- 使用雅虎UI压缩 ISuggest.js -->
<antcall target="压缩ISuggest.js"></antcall>
<!-- 复制压缩后的js文件 -->
<antcall target="复制压缩js文件"></antcall>
</target>
<target name="压缩mapfuncall.js">
<java jar="${lib}/yui/yuicompressor-2.4.6.jar" fork="true">
<arg line="--type js --charset utf-8 ${map_function_js}/mapfuncall.js -o ${build}/mapfuncall-min.js"/>
</java>
</target>
<target name="压缩dataedit.js">
<java jar="${lib}/yui/yuicompressor-2.4.6.jar" fork="true">
<arg line="--type js --charset utf-8 ${map_function_js}/dataedit.js -o ${build}/dataedit-min.js"/>
</java>
</target>
<target name="压缩ISuggest.js">
<java jar="${lib}/yui/yuicompressor-2.4.6.jar" fork="true">
<arg line="--type js --charset utf-8 ${map_function_js}/ISuggest.js -o ${build}/ISuggest-min.js"/>
</java>
</target>
<target name="清除build目录" depends="开始压缩">
<delete dir="${build}"/>
</target>
<target name="复制压缩js文件">
<copy todir="${map_function_js}">
<fileset dir="${build}">
<include name="**.js"/>
</fileset>
</copy>
</target>
相关推荐:
Oracle 游标使用总结
JS 截取字符串substr 和 substring方法的区别
根据多条件查询临时表 想得到不同结果集的方法
Aspx/Asp.net 防注入程序 V1.0
php 向访客和爬虫显示不同的内容
asp.net *.ashx类型的文件使用说明
左右若干数字验证的正则表达式
Jquery 学习笔记(一)
Jquery 设置标题的自动翻转
服务器有效设置防止web入侵图文方法
Oracle 子程序参数模式,IN,OUT,NOCOPY
python 文件和路径操作函数小结
jQuery 标题的自动翻转实现代码
js url传值中文乱码之解决之道
JS 实现双色表格实现代码
揭开AJAX神秘的面纱(AJAX个人学习笔记)第1/5页
Flex Data Binding详解
javascript实现的鼠标悬停时动态翻滚的导航条
sqlserver 禁用触发器和启用触发器的语句
jquery 选择器部分整理
jQuery 使用手册(二)
php 服务器调试 Zend Debugger 的安装教程
asp.net INI文件读写类
Sqlite 常用函数 推荐
提高MySQL中数据装载效率
Win2003 系统服务器防火墙
Javascript createElement和innerHTML增加页面元素的性能对比
JavaScript *真可控弹簧振子实现代码
解决表单中第一个非隐藏的元素获得焦点的一个方案
MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例
状态栏 时间显示效果 数字钟
asp.net 用继承方法实现页面判断session
Nginx0.5.33+PHP5.2.5(FastCGI)搭建胜过Apache10倍的Web服务器
javascript 面向对象,实现namespace,class,继承,重载
jQuery 使用手册(六)
apache Php5配置方法
Jquery 弹出层插件实现代码
javascript 缓冲效果实现代码 推荐
扣代码工具 hta版
Domino中运用jQuery读取视图内容的方法
Ha0k 0.3 PHP 网页木马修改版
JavaScript 三种不同位置代码的写法
防盗链接ASP函数
JavaScript Array扩展实现代码
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
Jquery在IE7下无法使用 $.ajax解决方法
php 分库分表hash算法
JavaScript 定义function的三种方式小结
javascript 按回车键相应按钮提交事件
APACHE 配置文件中文版 httpd.conf FOR Apache 2.2.13