js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)


Posted in Javascript onJanuary 29, 2013

问题缘由:负责公司的开发平台研发工作,考虑的知识产权的保护工作,必须要考虑java的加密技术和js脚本的加密技术。在目前java加密很容易破解的情况下,还是先搞定js的加密和压缩,一方面可以提高页面加载性能,另外一方面也希望辛苦研发出来的成果得到一定的保护。

研究过程
1、先强烈鄙视一下哪些随便转载文章的家伙,给我制造了很大的麻烦!!网上很多帖子都不靠谱。。
2、首先想了解jquery使用什么压缩的, 网上找了半天,说法不一样,后来还是在jquery官网的最频繁问题中找到了答案,但这已经是绕了一大圈之后的事情了。
(a)根据我看到的一些信息,jquery压缩最早是用 Dean Edwards' Packer 进行压缩的,大概是在jquery1.3版本吧(我在一本jquery的书上看到的。)。这个东西出来的比较早,作者好像也是头 大牛,目前是3.0版本,好像是在线版本,我自己把代码去他网站上压缩,无法使用,会出错误。
(b)后面jquery换成yuicompressor 进行压缩,具体哪个版本不太清楚,有篇文章的作者说:他去jquery的svn中找了一下,发现有yuicompressor 的文件,然后他特意用jQuery.js试了一下,处理过的文件和jQuery.min.js一模一样。原帖地址。
(c) 偶滴神啊,最后我在jquery官网找到了这么一段话。How do I compress my code?

内容如下
Generally the best way to do it is to use the Google Closure Compiler (used by jQuery) or YUI compressor. jQuery provides a pre-minified version of jQuery for your convenience.
Packing JavaScript using Dean Edwards' Packer (specifically using the base64 encode) is not recommended, as the client-side decoding has significant overhead that outweighs the file-size benefits.
大致意思是说:jquery用的是google的开源js压缩工具,Google Closure Compiler和YUI compressor 是目前最佳的js压缩方式。 Dean Edwards‘ packer 是不推荐使用的!!

事后感想
1.其实我很早就注意到Google Closure Compiler这个工具了,但是受一个网友的误导,没有去试用。他提出2个理由,一是这东西开源没多久,二是这个会改写和优化你的代码结构且目前有几个严重的问题;我当时一直在找jquery是用什么压缩工具。 TMD这种技术文章中国人写的就是不可信,到处JB乱抄!!很多东西都要看官方网站的文档。
2.Google是一个伟大的公司,它的技术走在非常前沿,YUI之前是雅虎研发的,这几年雅虎业绩不佳,我想Google吸收了当前IT领域很多技术专家,我们应该相信它出品的东西都是精品。

Javascript 相关文章推荐
javascript Ext JS 状态默认存储时间
Feb 15 Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 Javascript
javascript 应用小技巧方法汇总
Jul 05 Javascript
jquery获得当前html页面源码的方法
Jul 14 Javascript
javascript简单实现等比例缩小图片的方法
Jul 27 Javascript
AngularJS入门教程之服务(Service)
Jul 27 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
Nov 28 Javascript
Bootstrap table使用方法总结
May 10 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
Angular angular-file-upload文件上传的示例代码
Aug 23 Javascript
微信小程序事件流原理解析
Nov 27 Javascript
Node.js API详解之 Error模块用法实例分析
May 14 Javascript
JavaScript起点(严格模式深度了解)
Jan 28 #Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 #Javascript
JavaScript转换农历类实现及调用方法
Jan 27 #Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
Jan 27 #Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 #Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 #Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 #Javascript
You might like
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
php生成mysql的数据字典
2016/07/07 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
使用PHP开发留言板功能
2019/11/19 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
PHP 实现链式操作
2021/03/09 PHP
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
python判断链表是否有环的实例代码
2020/01/31 Python
通过实例解析Python return运行原理
2020/03/04 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
旅游管理专业个人求职信范文
2013/12/24 职场文书
端午节活动策划方案
2014/03/09 职场文书
人代会标语
2014/06/30 职场文书
公司周年庆典标语
2014/10/07 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书