`
gui1401
  • 浏览: 50129 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

提高页面相应速度之压缩优化js和css文件

    博客分类:
  • js
阅读更多

Steve Souders在他的《High Performance Web Sites》一书中提出提高网页效率的14条准则,这些可以使用Yahoo! YSlow来进行一个比较形象的检测。

这里主要来说一下第一条准则:Make Fewer HTTP Requests,意思就是尽可能的减少HTTP请求。当时要达到这个目的有很多种方法,其中最重要的一点就是将CSS文件和Javascript文件分别进行压缩和合并,这样就在很大程度上减少了浏览器对服务器的HTTP请求此处,另外一旦被浏览器下载到本地可以对此进行缓存,从而提高了加载速度。

有关于这方面的工具最优秀且使用最为广泛的开源软件非YUI Compressor莫属了。但是YUICompressor只能使用命令行一个个对js或css文件进行压缩,现在我们就通过使用ant脚本来达到批量压缩合并多个文件的目的。

下面以压缩js文件为例进行说明。

首先做一个关于js文件编码规范的约定:所有的原始文件均为 .source.js,经过压缩处理后文件变为.js,将多个压缩后的文件合并后的文件名称为all-min.js。

接下来可以写下面的ant脚本:

 

  1. <!-- 对YUICompressor的引用 -->
  2. <property name="js.dir" value="${web.dir}/scripts" />
  3. <property name="js.release.name" value="all-min.js"/>
  4.  
  5. <!-- 删除之前压缩合并过的文件 -->
  6. <delete>
  7.     <fileset dir="${js.dir}" includes="${js.release.name}"/>
  8. </delete>
  9.        
  10. <!-- 执行 yuicompressor 压缩JS
  11.    -- parallel="false":对fileset中的每个文件都执行一次executable参数的命令
  12.   -- dest 执行目录
  13.    -->
  14. <apply executable="java" parallel="false" verbose="true" dest="${js.dir}">
  15.     <fileset dir="${js.dir}">
  16.         <include name="**/*.source.js"/>
  17.     </fileset>
  18.         <arg line="-jar"/>
  19.         <arg path="${yuicompressor}"/>
  20.     <!-- 设置待处理源文件及处理后输出文件的编码格式 -->
  21.     <arg line="--charset utf-8"/>
  22.     <srcfile/>
  23.     <arg line="-o"/>
  24.     <!-- 指定文件命名规则 -->
  25.     <mapper type="glob" from="*.source.js" to="*.js" />
  26.         <targetfile/>
  27. </apply>
  28.  
  29. <!-- 合并文件 -->
  30. <concat destfile="${js.dir}/${js.release.name}" fixlastline="true">
  31.     <fileset dir="${js.dir}">
  32.         <include name="**/*.js"/>
  33.         <exclude name="${js.release.name}"/>
  34.             <exclude name="**/*.source.js"/>
  35.             <exclude name="i18n/*.js"/>
  36.         </fileset>
  37. </concat>
  38.        
  39. <!-- 删除生成的临时文件 -->
  40. <delete>
  41.     <fileset dir="${js.dir}">
  42.         <include name="**/*.js"/>
  43.         <exclude name="${js.release.name}"/>
  44.             <exclude name="**/*.source.js"/>
  45.             <exclude name="i18n/*.js"/>
  46.         </fileset>
  47. </delete>

原文出处: http://www.javatang.com/archives/2008/04/13/0212267.html

作者: Jet Mah from Java堂

分享到:
评论

相关推荐

    js css文件压缩工具

    在现代Web开发中,为了提高网站的加载速度和性能,对JavaScript(js)和CSS(css)文件进行压缩是至关重要的一步。"js&css压缩工具"是一个专门针对这两种文件类型的压缩工具,它能有效地减小文件大小,从而降低网络...

    js与css代码压缩软件

    用户只需配置好项目路径,Koala就会自动处理其中的JS和CSS文件,生成压缩后的版本。 除了Koala,还有其他著名的代码压缩工具,如Grunt、Gulp和Webpack。这些是基于Node.js的任务运行器和打包工具,它们可以安装和...

    压缩js和css,优化前端资源占用案例

    本文将深入探讨如何通过压缩JavaScript(js)和CSS文件来实现这一目标。压缩这些文件可以显著减少页面加载时间,进而提高网站的整体效率。 首先,我们需要理解为什么需要压缩js和css。在未压缩的状态下,这些文件...

    gzip压缩js,csss文件

    总结来说,通过gzip压缩js和css文件,可以有效减小文件大小,提高网页加载速度。在Windows环境下,可以利用CMD和gzip命令进行文件压缩,而在服务器端,需要配置相应的设置以支持gzip压缩。理解并掌握这一技巧,对于...

    IIS启用GZIP压缩js、css无效的原因及解决方法.docx

    本文主要探讨的是在IIS服务器上启用GZIP压缩针对JavaScript(js)和CSS文件无效的问题及其解决方案。 IIS(Internet Information Services)是微软提供的一个Web服务器,支持多种功能,包括GZIP压缩。当用户发现IIS...

    jscss压缩合并工具JSCompress_

    JSCompress是一款强大的前端资源优化工具,主要功能是对JavaScript(js)和 Cascading Style Sheets(css)文件进行压缩和合并,从而显著减小网站的加载时间,提高页面性能。这对于现代网页开发至关重要,尤其是在...

    Ajax jquery 实现自动完成的所有js和css文件

    标题中的"Ajax jQuery 实现自动完成的所有js和css文件"是指使用Ajax技术和jQuery库来创建一个功能,即在用户输入时提供自动填充建议。这种功能常见于搜索框、表单输入等场景,能够提高用户体验,减少用户手动输入的...

    前端js和css的压缩合并之grunt

    - 上述配置中包括了`uglify`、`concat`和`cssmin`的任务配置,定义了如何压缩、合并JS和CSS文件。通过`grunt.loadNpmTasks()`加载了对应的插件,并且通过`grunt.registerTask()`注册了一个默认任务,该任务依次执行...

    php gzip 压缩js或css

    在Web开发中,提高页面加载速度是提升用户体验的关键因素之一。`PHP Gzip`压缩是一种常见的优化技术,它能够有效地减小CSS和JS文件的大小,从而缩短客户端的响应时间。`Gzip`是一种广泛使用的数据压缩算法,通过在...

    对整个项目所有js css进行压缩混淆

    在现代Web开发中,优化网页性能是至关重要的一步,其中包括对JavaScript(js)和CSS文件进行压缩和混淆。本文将详细讲解如何实现整个项目中所有js和css的压缩混淆,以及这一过程背后的原理和工具。 首先,对于"对...

    mui的js和css包

    6. **性能优化**:MUI提供的.min.js和.min.css文件是经过压缩和混淆处理的,减少了文件大小,加快了页面加载速度。在生产环境中,应该优先使用.min版本以提高性能。 7. **国际化支持**:`mui-rtl.css`表明MUI框架...

    css工具,包含精灵图片生成,css压缩

    优化CSS是提升网页性能的关键步骤之一,因为这可以减少HTTP请求的数量,降低页面加载时间,从而提高用户体验。本篇文章将详细探讨标题和描述中提到的CSS工具,以及它们在CSS优化和压缩方面的作用。 首先,"CSS ...

    bootstrap的switch控件需要引入的js和css文件

    在实际开发中,为了提高用户体验和页面性能,我们通常会采用延迟加载(如使用 require.js 或 webpack)或者按需引入(只引入实际使用的组件)的方式来优化资源加载。对于 Bootstrap Switch,如果项目中只用到这一...

    YUI+Ant 实现JS CSS压缩

    在Web开发中,为了提高页面加载速度和优化用户体验,开发者通常会使用代码压缩工具来减少JavaScript(JS)和CSS文件的大小。YUI Compressor是 Yahoo! 推出的一款开源的压缩工具,它能有效地去除代码中的空白和注释,...

    css/js 压缩格式化工具

    - **减少文件大小**:未经压缩的CSS和JS文件通常包含大量空格、换行和注释,这些在实际传输过程中增加了数据量,导致页面加载时间延长。 - **节省带宽**:对于移动用户或网络环境较慢的用户,压缩后的代码能更快地...

    unigui_调用外部js与css.rar

    7. **性能优化**:合理组织和压缩JS及CSS文件,减少HTTP请求,可以提升应用的加载速度。还可以利用CDN(内容分发网络)来加速静态资源的获取。 8. **错误处理**:在调用外部JS和CSS时,务必考虑到可能出现的错误,...

    Asp.net程序优化js、css实现合并与压缩的方法

    本文将详细介绍如何在***程序中优化js和css文件,通过合并与压缩来提升Web应用的效率和用户体验。 ### 1. 文件合并与压缩的概念 - **文件合并**是指将多个js或css文件整合成一个文件。这样做可以减少HTTP请求的...

    使用脚本+yuicompressor对js,css文件打包.pdf

    【知识点详解】 1. **yuicompressor**:yuicompressor是一款由Yahoo开发的开源JavaScript和CSS压缩工具...通过这些知识点,我们可以实现高效、自动化的JavaScript和CSS文件压缩与打包,提升网站的加载速度和用户体验。

    easyui用到的css文件和主题文件

    这有助于提高页面加载速度,减少服务器压力,并提升用户体验。 4. **主题管理**: 使用EasyUI时,可以通过修改 HTML 的 `&lt;link&gt;` 标签来切换主题,或者使用JavaScript API动态改变主题。例如,可以写入`...

    基于Gulp编写的图片JSCSS压缩工具

    基于Gulp编写的图片、JS、CSS压缩工具能够帮助开发者有效地减小文件大小,提高页面加载速度,从而提升用户体验。Gulp是一个流行的自动化构建工具,它允许开发者通过编写简单的任务来自动化复杂的构建流程。 **Gulp...

Global site tag (gtag.js) - Google Analytics