zoukankan      html  css  js  c++  java
  • 使用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>

    转载请注明出处:http://www.cnblogs.com/likehua

  • 相关阅读:
    OpenCL学习笔记(三):OpenCL安装,编程简介与helloworld
    OpenCL学习笔记(二):并行编程概念理解
    OpenCL学习笔记(一):摩尔定律,异构计算与OpenCL初印象
    深度学习开源工具——caffe介绍
    机器学习方法(五):逻辑回归Logistic Regression,Softmax Regression
    OpenCL与CUDA,CPU与GPU
    深度学习方法:受限玻尔兹曼机RBM(二)网络模型
    深度学习方法:受限玻尔兹曼机RBM(一)基本概念
    机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection
    机器学习方法(四):决策树Decision Tree原理与实现技巧
  • 原文地址:https://www.cnblogs.com/likehua/p/2141332.html
Copyright © 2011-2022 走看看