`
zhangjunbao
  • 浏览: 94897 次
  • 性别: Icon_minigender_1
  • 来自: 核桃博客
社区版块
存档分类
最新评论

网站性能优化工具-javascript压缩工具JSMin

阅读更多
本文来源: 核桃博客
本文地址:http://www.hetaoblog.com/%E7%BD%91%E7%AB%99%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E5%B7%A5%E5%85%B7-javascript%E5%8E%8B%E7%BC%A9%E5%B7%A5%E5%85%B7jsmin/
网站性能优化工具-javascript压缩工具JSMin

在性能测试工具-利用FireBug做前端性能测试一文中已经提到前端性能对最终用户的体验,之前也介绍了网站性能优化工具-无损图片压缩工具Smush.it作为图片压缩工具,这里,再介绍另外一款js压缩工具,JSMin,可以对网站中大量使用的 javascript进行压缩;

由于通常网站开发过程中会引入大量的js文件,包括库文件和自己写的大量js,js文件的数量和大小通常也对网站的性能产生了较大的影响。对js文件进行压缩可以减少js文件的大小,提高网站的性能。当然,另外一个影响就是在生产环境下的js文件是经过压缩的,如果有啥js问题,调试起来会更加麻烦。

JSMin的基本原理是去除javascript中的空格、回车、注释,作为javascript压缩工具,JSMin没有做混淆。混淆是指进一步的压缩,通常的做法是将较长的变量名和函数名替换成更短的。通常而言,在压缩基础上进一步混淆的改进不是那么明显,而且由于混淆的复杂性,有可能会带来一些错误,所以,如果不是为了抵制逆向工程,通常建议做压缩就够了。
1.使用方法:

在下载JSMin后,, 假设原始文件为before.js,那么输入如下命令后,就得到after.js

在命令行下输入jsmin <before.js> after.js
2.注意

a.  JSMin建议js文件是以ASCII或者UTF-8的编码方式保存的。其他方式的js文件处理后有可能会带来问题

b.  JSMin不是可逆的,需要保存要原始文件;另外一个方面,一些模糊的表达式,有可能会在去除空格后发生错误,比如a + ++b压缩后会变成a+++b,然后被解析成a++ + b,所以,建议在之前先使用JSLint检查下Javascript文件,
3.例子

未压缩代码:

// is.js

// (c) 2001 Douglas Crockford

// 2001 June 3

// is

// The -is- object is used to identify the browser.  Every browser edition

// identifies itself, but there is no standard way of doing it, and some of

// the identification is deceptive. This is because the authors of web

// browsers are liars. For example, Microsoft’s IE browsers claim to be

// Mozilla 4. Netscape 6 claims to be version 5.

var is = {

ie:      navigator.appName == ‘Microsoft Internet Explorer’,

java:    navigator.javaEnabled(),

ns:      navigator.appName == ‘Netscape’,

ua:      navigator.userAgent.toLowerCase(),

version: parseFloat(navigator.appVersion.substr(21)) ||

parseFloat(navigator.appVersion),

win:     navigator.platform == ‘Win32′

}

is.mac = is.ua.indexOf(‘mac’) >= 0;

if (is.ua.indexOf(‘opera’) >= 0) {

is.ie = is.ns = false;

is.opera = true;

}

if (is.ua.indexOf(‘gecko’) >= 0) {

is.ie = is.ns = false;

is.gecko = true;

}

压缩后的代码:

var is={ie:navigator.appName==’Microsoft Internet Explorer’,java:navigator.javaEnabled(),ns:navigator.appName==’Netscape’,ua:navigator.userAgent.
toLowerCase(),version:parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion),
win:navigator.platform==’Win32′}

is.mac=is.ua.indexOf(‘mac’)>=0;if(is.ua.indexOf(‘opera’)>=0){is.ie=is.ns=false;is.opera=true;}

if(is.ua.indexOf(‘gecko’)>=0){is.ie=is.ns=false;is.gecko=true;}
4.效果

当js文件较多较大时,压缩的改进是较大的;

现在主流的js框架,比如JQuery等,基本都在下载时提供了经过压缩的版本。
分享到:
评论

相关推荐

    jsmin js 压缩工具 javascript 压缩工具

    为了优化网站性能,开发者通常会使用像"jsmin"这样的JavaScript压缩工具来减小文件大小。 "jsmin"是一个高效的JavaScript压缩工具,其主要目的是通过删除不必要的字符(如空格、注释和换行)以及缩短变量名来减小JS...

    js 压缩工具 AjaxMin4Setup (附使用方法)

    关于javascript(js)和css压缩工具的使用,在之前的网 站性能优化工具-javascript压缩工具JSMin, javascript 压缩工具-YUI-compressor, javascript 压缩工具Dojo compressor ,javascript 压缩工具使用说明-...

    jsmin javascript精简工具

    总的来说,jsmin是一个强大的JavaScript压缩工具,无论是简单的命令行使用还是集成到Eclipse等开发环境中,都能帮助开发者有效地减小JavaScript文件大小,提升网站性能。对于追求高效、优化用户体验的Web开发者来说...

    jsmin javascript压缩工具

    JavaScript是Web开发中不可或缺的一部分,而jsmin是一个广泛使用的JavaScript压缩工具,它的主要目标是减少JavaScript文件的大小,从而提高网页加载速度,降低用户等待时间,提升用户体验。jsmin通过删除不必要的...

    JSMin js注释清理及压缩工具下载

    JSMin 是一个JavaScript压缩工具,主要用于减少JavaScript代码的大小,从而提高网页加载速度。这个工具由 Douglas Crockford 创建,他也是JSON(JavaScript Object Notation)格式的创始人。JSMin的主要功能是删除...

    Javascript压缩工具,JsMinGUI

    JsMinGUI,全称JavaScript Minifier Graphical User Interface,是一个图形界面的JavaScript压缩工具。它采用了著名的JsMin算法,该算法由Douglas Crockford开发,能够高效地去除代码中的注释、换行符以及多余的空格...

    javascript 压缩 JSMin

    总的来说,JSMin是一个简单但有效的JavaScript压缩工具,对于提升网站性能和降低服务器负载有着显著作用。理解其工作原理有助于开发者更好地优化代码,提高网页加载速度,为用户提供更快的浏览体验。通过阅读源代码...

    一个专门用来压缩JAVASCRIPT代码的工具

    为了解决这个问题,出现了专门的JavaScript压缩工具,如JsMinGUI.exe,用于优化和压缩JavaScript代码。 JsMinGUI是一个图形用户界面(GUI)版本的JavaScript压缩工具,它基于Doug Crockford的JsMin算法。这个工具的...

    最完整的网站优化工具

    JSMIN是一个轻量级的JavaScript压缩工具,由Dmitry Soshnikov创建。它的主要功能是删除JavaScript代码中的注释和多余的空白字符,从而减小文件大小,提高页面加载速度。JSMIN的使用非常简单,只需将原始JavaScript...

    jsmin-php:Douglas Crockford的JSMin JavaScript压缩程序PHP端口。 不再维护

    在当前的开发环境中,有许多替代的、更先进的JavaScript压缩工具,它们提供了更好的性能和更全面的功能。例如: 1. **UglifyJS**: 是一个广泛使用的JavaScript压缩器,它能解析、压缩和混淆JavaScript代码,同时...

    jsmin 是一个帮助精简Javascript代码的工具,它会帮助你去除多余的空格,换行,注释等等

    在Web开发中,尤其是对于前端性能优化来说,JavaScript的压缩是至关重要的一步。jsmin通过删除不必要的字符,如空格、换行和单行注释,来实现这一目标,而不会改变代码的功能。 JavaScript代码在未经压缩的情况下,...

    javascript 压缩工具

    本文将详细介绍JSMin和YUI Compressor这两种常用的JavaScript压缩工具,以及它们在优化代码方面的作用。 一、JSMin JSMin是一款轻量级的JavaScript压缩工具,由Douglas Crockford开发。它的主要功能是删除...

    jsmin v1.1.1.php

    **JSMin v1.1.1.php** 是一个基于PHP实现的JavaScript压缩工具,由Crockford的JSMin Java版本改编而来。这个工具的主要目的是为了优化JavaScript代码,减少其在网络传输中的大小,从而提高网页加载速度。在网页开发...

    javascript/css压缩工具

    JSMin.exe是一个常见的JavaScript压缩工具,它能快速处理大量的JS文件,将源代码转换为更紧凑的形式,以便在浏览器中更快地执行。 CSS,即层叠样式表,是用于描述HTML或XML(包括各种XML方言,如SVG、XHTML等)文档...

    [其他类别]jsmin v1.1.1.php_jsmin.zip

    jsmin是一个JavaScript压缩工具,它的主要功能是通过删除JavaScript代码中的...是一个包含JavaScript压缩工具jsmin的PHP实现的压缩包,它对于前端开发者来说是一个有价值的资源,可以帮助他们优化项目,提高网站性能。

    脚本压缩工具

    在IT行业中,脚本压缩工具扮演着至关重要的角色,它们主要负责优化网页性能,通过减少JavaScript和CSS文件的大小来加快网页加载速度。本文将详细探讨脚本压缩工具的原理、用途以及具体应用。 首先,我们需要理解为...

    jsminplus-1.4_tool_breakfastj66_jsmin_jsminplus_

    JSMin是最早的JavaScript压缩工具之一,而JSMinPlus作为其增强版,可能包含了以下改进: 1. **性能提升**:优化了算法,使得压缩速度更快。 2. **错误处理**:可能增加了对语法错误的容错处理,使得工具更健壮。 3....

    JsMinGUI.rar_JsMin.pas_JsMinGUI.e_Web Page delphi_delphi 压缩_delp

    总的来说,JsMinGUI是一款基于Delphi开发的JavaScript批量压缩工具,它利用JsMin库对JS代码进行优化,帮助开发者提高网页性能,缩短加载时间,同时也考虑到了文件管理和压缩的需求。对于任何希望提升Web应用性能的...

    js,css压缩工具(源码)

    通过学习和理解其源码,我们可以深入了解JavaScript和CSS的压缩原理,以及如何利用工具进行性能优化。同时,这也是一个很好的实践案例,展示了如何将现有的开源库集成到自己的项目中,以满足特定需求。

Global site tag (gtag.js) - Google Analytics