使用ANT与YUI压缩js的实现方法

由于项目使用的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>

(0)

相关推荐

  • Java操作Ant压缩和解压文件及批量打包Anroid应用

    实现zip/tar的压缩与解压 java中实际是提供了对  zip等压缩格式的支持,但是为什么这里会用到ant呢? 原因主要有两个: 1. java提供的类对于包括有中文字符的路径,文件名支持不够好,你用其它第三方软件解压的时候就会存在乱码.而ant.jar就支持文件名或者路径包括中文字符. 2. ant.jar提供了强大的工具类,更加方便于我们对压缩与解压的操作. 注意事项: 1. 首先说明一下,关于皮肤或者类似于皮肤的Zip包,实际上公司可能会根据自己的规定或需求,自定义压缩包文件的结尾,实

  • ANT 压缩(去掉空格/注释)JS文件可提高js运行速度

    1.说明在使用extjs 的时候,运行起来比较卡,特别是运行数据和js过多的时候,就会出现卡死的情况,或者等待时间比较长. 在解决这个有很多优化方法,今天来说其中一种,那就是在Ant脚本打包的时候,把js中空格.注释去掉.以及合并,合并今天不说了,还未实现这个,在研究中 2.首先,需要准备二个 .jar 文件,分别是 YUIAnt.jar 和 yuicompressor-2.4.x.jar . 3.俩个文件的附件 下载地址 4.build.xml文件如下 复制代码 代码如下: <!-- JS压缩

  • 使用YUI+Ant 实现JS CSS压缩

    今天研究了一下YUI yahoo开源框架,感觉很猛啊. 于是乎我做了一个YUI的ant实现,网上好多关于bat的实现,我就另辟蹊径,出个关于这个的ant实现,嘿嘿独一无二的文章,如果转载的话,其注明作者和网站 copyright:Mr.chen 好了具体操作如下: 官网: yuicompressor-2.4.6.jar 下载地址 http://yuilibrary.com/downloads/#yuicompressor YUIAnt.jar 下载地址 http://www.ubik-ingen

  • Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解

    随着工程越来越复杂,项目越来越多,以及平台的迁移(我最近就迁了2回),还有各大市场的发布,自动化编译android项目的需求越来越强烈,后面如果考虑做持续集成的话,会更加强烈.    经过不断的尝试,在ubuntu环境下,以花界为例,我将一步一步演示如何使用命令行,使用ant编译android项目,打包多渠道APK.    要点:    (1). 编译android的命令使用    (2). ant基本应用    (3). 多项目如何编译(包含android library)    (4). 如

  • apache ant进行zip解压缩操作示例分享

    需要导入ant.jar包,apache网站(http://ant.apache.org/bindownload.cgi)下载即可. 复制代码 代码如下: import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOEx

  • 使用ANT与YUI压缩js的实现方法

    由于项目使用的js很多,为了提高系统效率,将js做压缩处理.成功的对多个js进行压缩,必须经历下面两步.1.合并多个js成为一个js.2.将和并过后的js进行压缩处理.使用的ant配置主要有: 复制代码 代码如下: <property  name="root" value="WebRoot"></property> <property  name="js" value="${root}/js"&g

  • Yii2中使用asset压缩js,css文件的方法

    官网文档 http://www.yiiframework.com/doc-2.0/guide-structure-assets.html yii目录下运行 asset/template assets.php 生成assets.php,这是一个配置模板,并修改如下 <?php /** * Configuration file for the "yii asset" console command. */ // In the console environment, some pat

  • AngularJS压缩JS技巧分析

    本文实例讲述了AngularJS压缩JS的操作技巧.分享给大家供大家参考,具体如下: 大多数web项目在发布时候都会对js代码进行压缩,目的是为了减少js文件的大小,节省一点流量. 它的原理很简单,就是对参数及部分变量名和函数进行重命名. 但是这种工作方式在AngularJS的应用中会有例外. 由于AngularJS的依赖注入是根据参数名进行注入的,显然,对参数进行重命名会破坏这个机制. 如果不进行特殊处理,进行压缩(minify)之后,在执行时将会出现这样的错误 Unknow provider

  • 使用grunt合并压缩js和css文件的方法

    需要了解的知识: 1.nodejs的安装与命令行使用 2.nodejs安装应用 3.grunt的初步了解 本文已假定读者已经熟悉以上知识. 好,我们继续: 任务1:将src目录下的所有zepto及插件合并,并压缩. --src/ ajax.js assets.js callbacks.js data.js deferred.js detect.js event.js form.js fx.js fx_methods.js gesture.js ie.js ios3.js selector.js

  • php实现压缩多个CSS与JS文件的方法

    本文实例讲述了php实现压缩多个CSS与JS文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 压缩css 复制代码 代码如下: <?php    header('Content-type: text/css');    ob_start("compress");    function compress($buffer) {        /* remove comments */        $buffer = preg_replace('!/\*[^*]*\*+(

  • Python格式化压缩后的JS文件的方法

    本文实例讲述了Python格式化压缩后的JS文件的方法.分享给大家供大家参考.具体分析如下: 该脚本可以把压缩后的js文件格式上进行些还原,当然不会百分百完美,暂不处理语法问题,只是为了方便阅读js代码 lines = open("unformated.js").readlines()[0].split(";") #一般压缩后的文件所有代码都在一行里 #视情况设定索引,我的情况时第0行是源代码. indent = 0 formatted = [] for line

  • node下使用UglifyJS压缩合并JS文件的方法

    现在UglifyJS的最新版本为 2.8.13,主要功能为JS的压缩和合并,下面直接进入教程: 安装: <span style="font-size:18px;color:#006600;">npm install uglify-js -g</span> 将uglifyjs安装为全局变量,方便我们在任何地方使用. <span style="color:#006600;">下面是shell命令的中文解释: * source-map

  • webpack 打包压缩js和css的方法示例

    打包压缩js与css 由于webpack本身集成了UglifyJS插件(webpack.optimize.UglifyJsPlugin)来完成对JS与CSS的压缩混淆,无需引用额外的插件, 其命令 webpack -p 即表示调用UglifyJS来压缩代码,还有不少webpack插件如 html-webpack-plugin 也会默认使用UglifyJS. uglify-js的发行版本只支持ES5,如果你要压缩ES6+代码请使用开发分支. UglifyJS可用的选项有: parse      

  • PHP实现动态压缩js与css文件的方法

    本文实例讲述了PHP实现动态压缩js与css文件的方法.分享给大家供大家参考,具体如下: 正式发布产品时,我们希望将项目里的js,css合并压缩,以减少http请求.防止轻易查看源代码. 使用 只需要在头部引入一下代码即可: <meta charset="utf-8"/> <title>demo</title> <?php //定义需要压缩的文件 $css = array( CSS_PATH . 'base.css', CSS_PATH . '

  • JS 图片压缩原理与实现方法详解

    本文实例讲述了JS 图片压缩原理与实现方法.分享给大家供大家参考,具体如下: 前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?当然可以,那我们先来理一下思路. 压缩思路 涉及到 JS 的图片压缩,我的想法是需要用到 Canvas 的绘图能力,通

随机推荐