cruisecontrol持续集成构建web进行js压缩处理

来源:互联网 发布:自然语言分析 python 编辑:程序博客网 时间:2024/06/05 06:23

  在使用cruisecontrol做持续集成过程中,我们可能需要将在这个过程中将源码js文件经过相关关工具进行压缩,再打包发布,这样能大大减少网络传输的流量。正常情况下,可以使用诸如hdjso、jsmin进行处理,其中jsmin是开源的,并且方便在dos中通过命令行的方式对相关文件(js)进行压缩,主要是出去大部分空格、注解等。

   在cruisecontrol,只需要简单在build.xml中加入相关脚本如下:

 <target name="compressed_js" depends="copy">       <exec executable="cmd" dir="${compressed}"  failonerror="false"      append="true" >    <arg line="/c call RunJSMin.bat ../projects/REPORT/${dist}/${warDest} " />    </exec>  <echo>####自动压缩静态JS文件完成</echo>  </target>

其中RunJSMin.bat接受参数是一个js的目录,然后递归遍历,最后得到压缩的类,其中要使用jsmin.exe工具,可以到官网下载使用。

@echo offrem 参数1为项目复制后的web目录,主要进行的js压缩文件夹主要set JSDir=%1set pageRoot=%JSDir%/pagesrem 遍历文件夹中的js文件for /R %pageRoot% %%i in (*.js) do (  rem 获取文件路径rem echo %%~dpirem 获取文件名rem echo %%~nxiCALL JsMinfy.bat %%~dpi %%~nxi)

JSMinfy.bat:

set DirName=%1set FileName=%2jsmin.exe < %DirName%/%FileName% > %DirName%/compressed.%FileName% "auto compressed  this file at:%date% %time%"del /f %DirName%\%FileName%ren %DirName%\compressed.%FileName% %FileName%

这样,就可以运行起来整个集成压缩。

http://yunpan.cn/Q4QP5hj7c2ym8 参考下载实例

0 0
原创粉丝点击