`
imacback
  • 浏览: 76828 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用ant对JS/CSS 进行压缩以提高网站性能

阅读更多
减少HTTP请求是优化网站速度的一个重要手段, 所以对javascript/css两种文件进行压缩或合并都是非常必要的.

这里介绍利用ANT来自动进行文件合并和压缩.
3.1. javascript文件合并

在开发阶段常常会把javascript文件分成几部分来写, 比如模块式的开发或多人合作, 或者使用一些外部库. 在生产环境下将比较小的文件合并成一个可以减少HTTP请求的次数, 从而达到优化的目的.

这里假设你对ANT有一定了了解, 如果没有可以参考[ANT简单介绍].
Example 1: 例子

比如现在需要把 js 目录下的 1.js 2.js 3.js 4.js 四个文件合并的成 all.js 一个文件, ANT文件可以这样写.
<target name="concatenate">
    <concat destfile="all.js">
        <fileset dir="js" includes="*.js" />
    </concat>
</target>

fileset 中设置目录和 *.js 即可.

当几个js文件后依赖关系的时候, 合并的顺序则会比较重要了, 这里演示比如需要把 1.js 2.js 两个文件按顺序放在合并文件的最前面, 而 3.js 的 4.js 和其他的文件的顺序并不重要的写法:

<property name="core.files" value="1.js, 2.js" />

<target name="concatenate">
    <concat destfile="js">
        <filelist dir="js" files="${core.files}" />
        <fileset dir="js" includes="*.js" excludes="${core.files}" />
        </concat>
</target>

这里我们现在filelist里面定义几个需要讲究顺序而必须放在合并最开头的几个文件, 比如一个core文件, 然后在fileset里面把几个文件设为 excludes , 则可保存这几个文件放在最开头.
3.2. 压缩javascript文件

这里使用 Google Closure 来进行压缩, 需要 Java 运行环境. Clocure 并不接收一次压缩多个文件的选项, 所以这里使用 Ant 的 apply 来完成批量压缩.
<target name="minify">
     <apply executable="java" parallel="false">
            <fileset dir="${js.dir}">
                <include name="*.js" />
            </fileset>
                        <arg line="-jar" />
                        <arg path="${closure-jar}" />
            <arg value="--warning_level" />
            <arg value="QUIET" />
                        <arg value="--compilation_level" />
                        <arg value="SIMPLE_OPTIMIZATIONS" />
                        <arg value="--js_output_file" />
                        <targetfile />
                        <arg value="--js" />
            <mapper type="glob" from="*.js" to="${js.dir}/*.min.js" />
        </apply>
</target>

如果你用过 Closure 的命令行工具, 那么这里就会觉得比较熟悉了, 其实就和命令行下的管道命令差不多.

这里关键的主要在于 fileset 和 mapper , 前者是类似命名行下的 find 命名,利用文件名匹配来找到需要压缩的文件列表, 然后 mapper 的功能在与利用原文件名来设置输出文件名, 一般行的都是把类型 script.js 命名为 script.min.js 即可.

${closure-jar} 定义的是 Closure 的jar文件路径, 可以从Google Closure Code 下载.
3.3. 压缩CSS文件

这里使用 yuicompressor 来进行CSS文件的压缩, 同样需要 Java 运行环境.
<!-- minify css files -->
<apply executable="java" parallel="false">
    <fileset dir="${public.dir}/css">
        <include name="*.css" />
        <exclude name="*.min.css" />
    </fileset>
    <arg line="-jar" />
    <arg path="${yuicompressor-jar}" />
    <arg line="--charset utf-8" />
    <arg line="-v" />
    <srcfile />
    <arg line="-o" />
    <mapper type="glob" from="*.css" to="${public.dir}/css/*.min.css" />
    <targetfile/>
</apply>

这里和压缩js的结构一样, 只是参数不太相同而已.

${yuicompressor-jar} 可以从 Yahoo Yui 上下载.
分享到:
评论

相关推荐

    使用Ant构建批量压缩js、css文件脚本

    YUI Compressor是由Yahoo开发的一款高效的JavaScript和CSS压缩工具,它可以删除代码中的空格、注释,并进行变量和函数名的混淆,从而达到压缩的目的。 以下是使用Ant和YUI Compressor进行批量压缩的基本步骤: 1. ...

    YUI+Ant 实现JS CSS压缩

    总之,通过结合YUI Compressor和Ant,开发者可以方便地实现JS和CSS的自动化压缩,提高网站性能。这个过程不仅简化了工作流程,还能确保每次发布时都能保持代码的最佳优化状态。对于大型项目或团队协作,这种自动化...

    yui compressor 2.4.2 javascript/css压缩程序

    综上所述,`YUI Compressor 2.4.2` 是一款强大的JavaScript和CSS压缩工具,对于前端性能优化具有重要的意义。虽然它是一个较老的版本,但在很多情况下仍然能够胜任代码压缩的工作,帮助开发者实现更快、更轻量级的...

    ant和yuicompressor 压缩css、js方案

    在实际项目中,这样的压缩步骤通常是持续集成(Continuous Integration, CI)的一部分,确保每次构建时都能自动对CSS和JS文件进行优化,以提升网站性能。 至于压缩包子文件的文件名称列表只包含“js压缩”,这可能...

    java开发中压缩js,css文件

    Java中实现js和css压缩,通常会使用一些开源库,例如Google的Closure Compiler和YUI Compressor,它们提供了API供开发者调用。这些工具不仅能够压缩文件,还能进行变量和函数名的混淆,进一步减小文件大小,但混淆...

    css,js合并优化工具

    1.目录source:需要压缩的源文件 ...4.合并压缩css.bat 根据source将css进行合并到in目录,并输出到out目录 5.合并js.bat 只将source下数据合并到in目录 6.合并js.bat 只将in下数据合压缩处理到out目录

    用yuicompressor和Ant压缩Ext的CSS文件

    yuicompressor是一款由Yahoo开发的JavaScript和CSS压缩工具,它能够删除代码中的空格、注释以及简化CSS选择器,从而减小文件大小,提高网页加载速度。而Ant是Apache组织开发的一款Java构建工具,它通过XML配置文件来...

    js 压缩工具

    总的来说,这个压缩包提供了一套完整的JS和CSS压缩解决方案,结合Eclipse的强大编辑功能和Ant的自动化构建能力,能有效提升开发效率,优化网页性能。在实际使用中,根据项目需求选择合适的压缩工具,合理配置自动化...

    YUI Comprocess+ant成功压缩css文件的例子

    YUI Compressor是一款由雅虎开发的JavaScript和CSS压缩工具,它能有效地压缩和优化代码,减少文件大小,从而提升网站性能。在这个例子中,我们将探讨如何结合YUI Compressor 2.4.7和Apache Ant 1.8.2来自动化CSS文件...

    ant yui 对应所需的jar

    然后,在Ant的build.xml文件中,你可以创建一个新的目标(target),使用`java`任务来调用YUI Compressor的命令行接口,对你的JavaScript和CSS文件进行压缩。 以下是一个简单的示例,展示了如何在Ant中配置YUI ...

    基于Java的JSCSS压缩工具 YUI Compressor.zip

    在JavaScript压缩方面,YUI Compressor采用了先进的算法,例如,它会识别并去除未使用的变量,对代码进行混淆,使得代码难以阅读,但不影响其执行效果。这不仅有助于减小文件大小,还有助于防止他人窃取或篡改代码。...

    使用YUI+Ant 实现JS CSS压缩

    这通常涉及到对JavaScript (JS) 和 Cascading Style Sheets (CSS) 文件进行压缩,减少它们的大小,从而加快页面加载时间。YUI (Yahoo! User Interface Library) 是一个开源框架,提供了用于压缩和合并这些文件的工具...

    基于Java的实例源码-JSCSS压缩工具 YUI Compressor.zip

    总结,YUI Compressor是Java开发者和Web性能优化人员的重要工具,它通过高效的代码压缩技术,帮助提高网站的加载速度,提升用户体验。尽管现在有其他更新的工具,但YUI Compressor因其稳定性、广泛的社区支持和丰富...

    Yui压缩和合并js工具

    YUI Compressor的压缩功能可以有效地减小JavaScript和CSS文件的体积,提高网站加载速度,尤其在用户网络环境不佳时更为明显。而Ant作为构建工具,使得这个过程可以通过命令行执行,提高了开发效率。 在压缩包子文件...

    Javascript开发之js压缩篇.docx

    公司开发的一款高质量的JavaScript和CSS压缩工具,它支持现代JavaScript语法特性,能够很好地处理大型项目中的代码压缩需求。 ##### 2. 使用YUI Compressor进行压缩 YUI Compressor是一款基于Java编写的工具,使用...

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

    【ANT压缩JS文件提高运行速度】\n\n在开发Web应用程序时,JavaScript文件的大小和结构对页面加载速度和整体性能有显著影响。当使用如EXTJS这样的大型库时,尤其如此。EXTJS包含了大量的JS代码,如果未经优化,可能会...

    google的压缩JS工具

    谷歌的压缩JS工具,通常指的是Google的 Closure Compiler,这是一个强大的JavaScript优化器,旨在提高JavaScript代码的性能和效率。Closure Compiler通过删除未使用的变量、优化函数和压缩代码来减少JavaScript文件...

    ant design of vue.zip

    - 在生产环境中,推荐使用.min.js和.min.css的压缩版本,以减少网络传输的体积。 - 为了获得更好的性能,应按需引入组件,避免不必要的加载。 总结来说,"ant design of vue.zip" 提供了Ant Design Vue的核心样式...

Global site tag (gtag.js) - Google Analytics