Google Closure Compiler+Ant压缩文件(Js)

来源:互联网 发布:北京企业老板数据 编辑:程序博客网 时间:2024/05/16 13:48

一、在命令行中压缩
首先下载并解压 closure java application。
下载地址: http://closure-compiler.googlecode.com/files/compiler-latest.zip

在linux系统上,使用wget进行下载:(在google code中直接查询Closure Compile)

#wget http://closure-compiler.googlecode.com/files/compiler-latest.zip

#unzip compiler-latest.zip

得到文件 compiler.jar。

再确认一下java是否已经安装好了。

这个compiler.jar的使用方式如下:(在命令行执行)

java -jar compiler.jar --js hello.js --js_output_file hello-compiled.js

或者java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js

这样就把 hello.js 压缩成了 hello-compiled.js。

更多信息请看帮助:

java -jar compiler.jar  --help


二、Closure Compiler+Ant使用(编译多个文件更方便)

Ant:http://ant.apache.org/

以下是例子:

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="today" default="all" basedir="."><!-- '.'表示当前目录-->  
  3.     <!---------以下定义变量 -------->  
  4.     <property name="base" value=".."></property>  
  5.     <property name="jsFolder" value="${base}/teach_left_main"></property>  
  6.     <property name="cfolder" value="mypress"></property>  
  7.     <property name="mjs" value="${jsFolder}/${cfolder}/megre.js"></property>  
  8.     <property name="cjs" value="${jsFolder}/${cfolder}/c.js"></property>  
  9.       
  10.     <!-------------------------------------------------------------  
  11.         三步骤:1.新建目录 2.合并多个JS 3.再压缩  
  12.         target createF 是创建等下要存放合并的js和压缩后的js  
  13.         target megerJS 把多个js合并起来,放到你创建的文件夹中  
  14.         target CompressJs 把合并好的js进行压缩  
  15.         depends标签表示依赖,要先走createF,COmpressJs才会走all  
  16.         ${name}里面对应定义的变量  
  17.     --------------------------------------------------------------->  
  18.     <target name="all" depends="createF,CompressJs"></target>  
  19.     <!--<target name="all" depends="createF,megerJS,CompressJs"></target>-->  
  20.     <target name="createF">  
  21.         <echo message="start createF" />  
  22.             <mkdir dir="${jsFolder}/${cfolder}" />  
  23.         <echo message="end createF" />  
  24.     </target>  
  25.       
  26.     <!-------------------------------------------------  
  27.     当然,第二步合并js,你也可以不用,直接压缩  
  28.     --------------------------------------------------->  
  29.     <!--  
  30.     <target name="megerJS">  
  31.             <echo message="start megerJS" />  
  32.             <concat destfile="${mjs}" encoding="UTF-8">  
  33.                 <path path="${jsFolder}/core.js" />   
  34.                 <path path="${jsFolder}/lookup_dis.js" />   
  35.                 <path path="${jsFolder}/1.js" />   
  36.             </concat>  
  37.             <echo message="end megerJS"/>  
  38.     </target>  
  39.     -->  
  40.     <target name="CompressJs">  
  41.         <echo message="start CompressJs" />  
  42.             <java jar="compiler.jar" fork="true">  
  43.                 <!--<arg value="--js=${mjs}" />  这里则变成导入所有的js-->  
  44.                     <arg value="--js=${jsFolder}/base.js" />  
  45.                     <arg value="--js=${jsFolder}/lookup_dis.js" />  
  46.                     <arg value="--js=${jsFolder}/1.js" />  
  47.                 <arg value="--js_output_file=${cjs}"/>  
  48.             </java>  
  49.         <echo message="end CompressJs" />  
  50.     </target>  
  51. </project>  

以下是目录结构,上面的变量base则表示是WebRoot目录


更多查看:

http://lds2008.blogbus.com/logs/115112756.html

http://blog.csdn.net/hanzhou4519/article/details/7924588

http://foxling.org/js-ajax-dom/in-eclipse-use-ant-concat-compress/

原创粉丝点击