`

压缩CSS和JavaScript文件为了让Web应用程序“轻巧”

 
阅读更多

本文摘自CSDN http://sd.csdn.net/a/20110922/304824.html

 

问题:空白内容

当开发人员使用CSS或JavaScript文件工作时,空白内容通常是一件好事。空白内容包括缩进文件所使用的字符,增强可读性的间距、以及为了在文章的不同部分添加一个可视间隔而插入的额外空行。空白内容使文件易于阅读和维护。如果CSS文件中有适当数量的空白内容(和注释),将有助于开发人员理解CSS代码的意图。

问题是逐渐增加的空白导致文件不断增大。每个空白行、缩进和括号之间的空格至少占用一个额外字符

 

解决方案:压缩

编写一个删除空白字符的定制脚本最初听起来是一个可行的解决方案,但是在CSS和JavaScript文件中本身都有很重要的空白。因此任何删除空白和压缩文件的工具必须是足够智能,可以区别哪些语言中哪些空白是重要的。

幸运的是,在社区中已经可以找到这种工具了,它们已经经过资源(比如 CSS 和 JavaScrip 文件)压缩测试了。其中一个工具就是 YUI Compressor,一个来自Yahoo! Developer Network的可用工具。

 

YUI Compressor

YUI压缩器是一个使用Java编写的程序,拥有Berkeley Software Distribution许可证。YUI Compressor可以缩小(压缩)CSS和JavaScript代码,这样无需自己编写工具就可以享受小资源带来的益处了。首先,可以下载YUI Compressor,然后提取文件,放置到一个容易访问的位置。归档文件包括完整源代码和一个用于构建YUI Compressor的Apache Ant 脚本(build.xml)。在原文中,作者以代码实例诠释了如何CSS和JavaScript文件(您可以点击这里查看更多代码实例)

通过YUI,以下优化将在JavaScript文件中执行:

  •     删除空白。从JavaScript代码中删除所有不重要的空白,包括新行。
  •     删除注释。从 JavaScript文件中删除所有注释,除了这些C风格的注释,以 /*! 序列开始的。如果公司版权或者其他信息必须保留在文件中,务必使用该序列包含注释内容。
  •     重命名 Method-scoped 变量。除非使用YUI Compressor 命令的 --nomunge选项,否则YUI Compressor将自动缩短JavaScript文件中的变量名。(将变量声明单独留在函数外,假设它们可能会用于其他地方)。由于JavaScript语言中的变量名仅需至少一个字符,就能为JavaScript文件节省相当多字符。替换变量稍微混淆JavaScript代码,但是由于不需要修改代码版本,应该问题不大。
  •     删除分号。像压缩CSS一样,一些不重要的分号(;)将被从JavaScript代码中删除。

    其他选择。--line-break 选项对于分离文件可能是重要的,因此这一行不能太长。(优化时 YUI Compressor会删除换行符。)

分享到:
评论

相关推荐

    web留言簿(40KB)

    【标题】"Web留言簿(40KB)"指的是一个轻量级的网页应用程序,它的大小仅为40KB,主要用于提供在线交互式的留言功能。在早期的互联网时代,这样的留言簿非常常见,它允许访客在网站上留下他们的信息、建议或者反馈,...

    babyweb轻巧http服务

    在【压缩包子文件的文件名称列表】中,我们看到了"babyweb"这个名字,这可能包含了服务器的可执行文件或安装程序。使用这个文件,用户可以直接下载并启动babyweb,开始搭建自己的本地HTTP服务器。 总的来说,...

    ssm版本的轻巧视频网站

    3. `src/main/webapp`:Web应用目录,包括静态资源(如HTML、CSS、JavaScript)、JSP页面、Web应用的配置文件(web.xml)等。 4. `db`或类似的目录:可能包含数据库脚本文件,用于创建或更新数据库表结构。 5. `pom....

    OS.js:JavaScript CloudWeb桌面平台

    轻巧的多用户Web桌面平台软件包管理(系统和用户可安装的应用程序/服务/面板项目) 会话管理(设置注册表,应用程序存储,快照) 资源管理(资源(预)加载,压缩,缓存) 简单的桌面环境和窗口管理器(具有最新...

    基于PHP的星光贴吧轻巧灵活高效高速的社区留言系统源码.zip

    4. **模板文件**:HTML、CSS和JavaScript文件,定义了用户界面的样式和交互。 5. **库和框架文件**:可能使用了第三方PHP库或框架,如Laravel、Symfony或CodeIgniter,这些文件是它们的组成部分。 6. **图片和其他...

    响应式:超轻量级HTML,Sass,CSS和JavaScript框架,用于构建响应式网站

    一个功能强大,易于访问,对开发人员友好的框架,用于构建响应式网站响应式样板是开发人员的框架。 其他框架在设计上也过于笨拙。... 合并后的输出CSS和JavaScript仅压缩并压缩了20.3kb,但是框架中内置

    基于PHP的星光贴吧轻巧灵活高效高速的社区留言系统.zip

    9. assets目录:存放CSS样式表、JavaScript文件和图片资源。 10. includes目录:包含其他辅助文件,如头部、底部、导航菜单等部分。 这个基于PHP的社区留言系统可能会采用MVC(Model-View-Controller)架构模式,...

    starling-bar::money_with_wings:Starling Bank状态栏应用程序

    首先,“electron”表明这个应用程序是使用Electron框架构建的,这是一个基于Chromium和Node.js的平台,允许开发者使用Web技术(HTML、CSS和JavaScript)来创建跨平台的桌面应用。因此,我们可以推断,此应用的用户...

    个人WEB简历迷你单页模板_蓝色 个人 简历 迷你 单页.rar

    【标题】中的“个人WEB简历迷你单页模板_蓝色 个人 简历 迷你 单页.rar”表明这是一个适用于个人在线展示的简洁...通过理解和应用上述知识点,你可以创建一份既美观又高效的在线简历,有效地向潜在雇主展示自己的能力。

    前端项目-polymer.zip

    6. **轻量级和高性能**:尽管提供了丰富的功能,但Polymer设计得相当轻巧,通过最小化DOM操作来优化性能,适合构建大型复杂应用。 7. **Polymer应用结构**:典型的Polymer项目包含元素(Element)目录,其中每个...

    云边开源轻博 1.0 build.7z

    云边开源轻博1.0 build可能是为了提供一个轻巧的解决方案,让博主可以专注于内容创作,而无需过于复杂的后台管理。 7z是一种高效的文件压缩格式,由7-Zip软件创建。7z格式能够提供比ZIP更高的压缩率,同时支持多种...

    dialogflow-web-v2:Dialogflow Web集成。 丰富的组件,Google上的操作等

    轻巧(压缩后的构建文件<50KB) 免费且有完整文档 德国制造 和推荐 由赞助-巴黎的音频营销工作室,该工作室从事:声音设计,播客和语音应用 安装 要求 节点JS npm或纱 Google帐户和Dialogflow V2代理(如果您...

    Node.js-foy:基于nodejs的轻量级通用build工具

    它们帮助开发者自动化繁琐的任务,如编译Sass或Less到CSS,压缩JavaScript和CSS,合并文件,以及处理图片等。本文将深入探讨基于Node.js的轻量级通用构建工具——Foy。 **一、Node.js简介** Node.js是一个开放源...

    基于PHP的HYBBS高负载轻论坛源码.zip

    这个HYBBS论坛系统设计的目标是能够在高负载环境下稳定运行,同时保持轻巧和高效,以提供良好的用户体验。 【描述】中提到的"基于PHP的HYBBS高负载轻论坛源码"表明该论坛软件在设计时考虑了性能优化,能够处理大量...

    使用于静态页面测试的迷你服务器

    【标题】"使用于静态页面测试的迷你服务器"所涉及的知识点主要集中在小型服务器软件的使用上,这种服务器软件设计轻巧,适用于快速部署和测试静态网页内容。静态页面指的是HTML、CSS和JavaScript等不涉及服务器端...

    flash特效动画swf格式

    尽管随着HTML5、CSS3和JavaScript的崛起,Flash逐渐淡出舞台,但其在Web开发历史上的地位不容忽视,且很多早期的在线作品仍依赖于SWF格式。理解并掌握这些知识点对于了解Web发展的历程和当前技术趋势至关重要。

    tryphotino.github.io:photino的公共网站

    Photino是一个框架,它允许开发者构建轻量级、跨平台的桌面应用程序,利用HTML、CSS和JavaScript技术。这个框架的目标是提供一个简单易用的工具,使得开发者能够快速地开发出原生应用,同时利用Web开发的熟悉工具。...

    关于query Javascript CSS Selector engine

    在这篇文章中,我们将详细了解query,这是一个轻量级而功能强大的JavaScript CSS选择器引擎。它主要用于在Web开发中根据CSS选择器来选取DOM元素,并进行进一步操作。query大小压缩后约为2KB,这意味着它非常轻巧,...

    Sistema-Integral

    9. **示例或测试应用**:为了展示框架如何工作,可能会包含一些示例应用程序或测试用例。 在使用Sistema-Integral框架时,开发者应遵循以下步骤: 1. **环境设置**:确保服务器支持PHP运行,并正确配置相关环境。 ...

    EditPlus3+注册码.zip

    6. **FTP客户端集成**:直接在编辑器内上传和下载文件,适用于Web开发。 7. **自定义工具**:允许用户配置自己的命令,如编译器、解释器路径,方便快速运行程序。 8. **行号显示**:帮助用户准确定位代码位置。 9. *...

Global site tag (gtag.js) - Google Analytics